自作サイトをロリポップサーバーで公開したのですが、iPhoneやiPadで見ると表示が大幅に崩れることが判明しました。
【自作サイト】
こちら になります
Examplesの項目の辺りから表示のズレが生じ、画像や文字が重なってしまっています。
【問題が発生した端末】
iPad mini4 → iOS 15.5
iPad Air3 → iOS 15.4.1
iPhone 11 → iOS 15.6
iPhone SE第2世代 → iOS 15.5
※iPhone SE以外は知人からの報告になります
※iPhone SEではSafariでもChromeでも同じように表示が崩れたため、ブラウザに原因があるわけではないようです
【問題が発生していない端末】
iPhone 5s → iOS 12.5.5
その他Android、Windows PCなど
※Chrome、Edgeの開発者ツールでディメンションをiPhone SEやiPad Miniに指定した際は問題なく表示されました
【その他の情報】
・画像の配置、空白の幅や高さの指定、フォントサイズの指定には基本vwを使用しています
・このサイトはHTML、CSS、JavaScriptで構成されています
・どのコードが原因かわかりかねたため、また全てのコードを載せると長くなってしまうため、お手数ですがコードはサイトをご参照いただけますと幸いです
自分なりに様々なキーワードで検索をかけたのですが、何が原因なのか、単位vwでここまで大幅に崩れることはあるのかなど、めぼしい情報は一切見つけられませんでした。
当方Webページ作成の勉強を始めたばかりですので、初歩的なことを伺っていましたら申し訳ございません。
解決法をご存知の方がいらっしゃいましたらご教授ください。よろしくお願いいたします。
【15:39追記】ご意見を受け、より短いコードで同じ問題が発生するものを作成できないか試してみます。
お忙しい方はそちらができ次第またご確認いただけますと幸いです。
【17:10追記】
最低限の要素のみ残したサイトを公開しました。
こちら になります。
手持ちのiPhone SE第2世代で検証しましたが、やはり同じ問題が発生しているようです。
以下にCSSのメインコンテンツの部分のコードを抜粋して貼ります。長くなってしまい申し訳ございません。
CSS
1body { 2 width: auto; 3 background-image: url("img/background.png"); 4 background-size: 100%; 5 display: flex; 6 /*justify-content: center; も書いたけどなくても良さそう*/ 7} 8 9/*以下メニュー*/ 10 11/*中略*/ 12 13/*以下メイン*/ 14 15#main { 16 width: 62.5%; 17} 18 19#header { 20 width: 100%; 21} 22 23#header-smp { 24 display: none; 25} 26 27.blank0 { 28 display: block; 29 content: ""; 30 height: 6.3vw; 31} 32 33h1 { 34 font-family: 'Fugaz One', cursive; 35 font-weight: 400; 36 color: #ff007fff; 37 font-size: 4.5vw; 38 position: relative; 39 text-align: center; 40 letter-spacing: 0.03em; 41} 42 43#about h1::after { /*css3ではbeforeやafter(疑似要素という)の前のコロンは2つ*/ 44 /*これは角丸下線を引くためのコード*/ 45 position: absolute; /*疑似要素の親にはrelative子にはabsoluteを指定しないといけない。理屈はわからない*/ 46 bottom: 0vw; 47 left: 22vw; 48 content: ""; 49 /*float: left; はいらないかもしれない*/ 50 width: 17.5vw; 51 height: 0.45vw; 52 border-radius: 100vw; /*角を丸める。一定以上は丸くならない*/ 53 background-color: #ff007fff; /*「-color」はなくても良いらしい*/ 54} 55 56.blank1 { 57 display: block; 58 content: ""; 59 height: 1vw; 60} 61 62#about p { 63 font-family: 'Kiwi Maru', serif; 64 font-weight: 500; 65 color: #646464ff; 66 font-size: 1.7vw; 67 text-align: center; 68 line-height: 150%; 69 margin: 1em; 70} 71 72.br-smp { 73 display: none; 74} 75 76.blank2 { 77 display: block; 78 content: ""; 79 height: 4.5vw; 80} 81 82#examples h1::after { /*css3ではbeforeやafter(疑似要素という)の前のコロンは2つ*/ 83 /*これは角丸下線を引くためのコード*/ 84 position: absolute; /*疑似要素の親にはrelative子にはabsoluteを指定しないといけない。理屈はわからない*/ 85 bottom: 0vw; 86 left: 18vw; 87 content: ""; 88 /*float: left; はいらないかもしれない*/ 89 width: 25.4vw; 90 height: 0.45vw; 91 border-radius: 100vw; /*角を丸める。一定以上は丸くならない*/ 92 background-color: #ff007fff; /*「-color」はなくても良いらしい*/ 93} 94 95.blank3 { 96 display: block; 97 content: ""; 98 height: 3.5vw; 99} 100 101.illust::before { 102 /*これはダッシュを書くためのコード*/ 103 position: absolute; 104 top: 50%; 105 left: 24.7vw; 106 content: ""; 107 /*float: left; はいらないかもしれない*/ 108 width: 2.5vw; 109 height: 0.12vw; 110 border-radius: 100vw; /*角を丸める。一定以上は丸くならない*/ 111 background-color: #ff007fff; 112} 113 114.pink { 115 font-family: 'Noto Sans JP', sans-serif; 116 color: #ff007fff; 117 font-weight: 300; 118 font-size: 2.1vw; 119 text-align: center; 120 transform: scale(1, 0.85); 121 position: relative; 122} 123 124.illust::after { 125 /*これはダッシュを書くためのコード*/ 126 position: absolute; 127 top: 50%; 128 right: 24.7vw; 129 content: ""; 130 /*float: left; はいらないかもしれない*/ 131 width: 2.5vw; 132 height: 0.12vw; 133 border-radius: 100vw; /*角を丸める。一定以上は丸くならない*/ 134 background-color: #ff007fff; 135} 136 137.blank4 { 138 display: block; 139 content: ""; 140 height: 1.5vw; 141} 142 143.gray { 144 font-family: 'Noto Sans JP', sans-serif; 145 color: #646464ff; 146 font-weight: 300; 147 font-size: 2.1vw; 148 text-align: left; 149 transform: scale(1, 0.85); 150 text-indent: 3em; 151} 152 153.two-img { 154 width: 25vw; 155} 156 157#img001 { 158 position: absolute; 159 top: 72vw; 160 left: 23.5vw; 161} 162 163#img002 { 164 position: absolute; 165 top: 72vw; 166 right: 23.5vw; 167} 168 169.blank { 170 display: block; 171 content: ""; 172 height: 30vw; 173} 174 175#links h1::after { /*css3ではbeforeやafter(疑似要素という)の前のコロンは2つ*/ 176 /*これは角丸下線を引くためのコード*/ 177 position: absolute; /*疑似要素の親にはrelative子にはabsoluteを指定しないといけない。理屈はわからない*/ 178 bottom: 0vw; 179 left: 23vw; 180 content: ""; 181 /*float: left; はいらないかもしれない*/ 182 width: 15.6vw; 183 height: 0.45vw; 184 border-radius: 100vw; /*角を丸める。一定以上は丸くならない*/ 185 background-color: #ff007fff; /*「-color」はなくても良いらしい*/ 186} 187 188#linkimg { /*「display: flex」を使用することをflexboxと言う*/ 189 /*flexboxの親要素を「コンテナ」子要素を「アイテム」と言う*/ 190 /*つまりこの要素はコンテナ*/ 191 display: flex; 192 /*flex-direction: row; 193 flex-wrap: nowrap; はいらないかも*/ 194 justify-content: space-around; 195 padding: 3.125vw; /*アイテム間の空白の幅*/ 196 margin: auto; /*コンテナの外側(左右)の幅*/ 197} 198 199#linkimg img { /*この要素はアイテム*/ 200 width: 15.625vw; 201} 202 203#linkimg img:hover { 204 filter: drop0-shadow(0.5vw 0.5vw 0.5vw #c4c4c4ff); 205} 206 207.blank11 { 208 display: block; 209 content: ""; 210 height: 14.4vw; 211} 212 213#copyright p { 214 font-family: 'Noto Sans JP', sans-serif; 215 font-weight: 400; 216 color: #646464ff; 217 font-size: 1.2vw; 218 text-align: center; 219} 220 221.blank12 { 222 display: block; 223 content: ""; 224 height: 1vw; 225} 226 227/*以下トップへ戻るボタン*/ 228 229/*中略*/ 230 231/*以下スマホ版*/ 232 233@media screen and (max-width: 959px) { 234 235body { 236 width: auto; 237 background-image: url("img/background_smp.png"); 238 background-size: 100%; 239} 240 241/*以下メニュー*/ 242 243/*中略*/ 244 245/*以下メイン*/ 246 247#main { 248 width: 100%; 249} 250 251#header { 252 display: none; 253} 254 255#header-smp { 256 display: block; 257 width: 100%; 258} 259 260.blank0 { 261 display: block; 262 content: ""; 263 height: 1vw; 264} 265 266h1 { 267 font-family: 'Fugaz One', cursive; 268 font-weight: 400; 269 color: #ff007fff; 270 font-size: 10vw; 271 position: relative; 272 text-align: center; 273 letter-spacing: -0.01em; 274} 275 276#about h1::after { /*css3ではbeforeやafter(疑似要素という)の前のコロンは2つ*/ 277 /*これは角丸下線を引くためのコード*/ 278 position: absolute; /*疑似要素の親にはrelative子にはabsoluteを指定しないといけない。理屈はわからない*/ 279 bottom: 0vw; 280 left: 31vw; 281 content: ""; 282 /*float: left; はいらないかもしれない*/ 283 width: 38vw; 284 height: 0.95vw; 285 border-radius: 100vw; /*角を丸める。一定以上は丸くならない*/ 286 background-color: #ff007fff; /*「-color」はなくても良いらしい*/ 287} 288 289.blank1 { 290 display: block; 291 content: ""; 292 height: 1.5vw; 293} 294 295#about p { 296 font-family: 'Kiwi Maru', serif; 297 font-weight: 500; 298 color: #646464ff; 299 font-size: 4vw; 300 text-align: center; 301 line-height: 150%; 302 margin: 0.5em; 303} 304 305.br-smp { 306 display: block; 307} 308 309.br-pc { 310 display: none; 311} 312 313.blank2 { 314 display: block; 315 content: ""; 316 height: 7.5vw; 317} 318 319#examples h1::after { /*css3ではbeforeやafter(疑似要素という)の前のコロンは2つ*/ 320 /*これは角丸下線を引くためのコード*/ 321 position: absolute; /*疑似要素の親にはrelative子にはabsoluteを指定しないといけない。理屈はわからない*/ 322 bottom: 0vw; 323 left: 23vw; 324 content: ""; 325 /*float: left; はいらないかもしれない*/ 326 width: 53vw; 327 height: 0.95vw; 328 border-radius: 100vw; /*角を丸める。一定以上は丸くならない*/ 329 background-color: #ff007fff; /*「-color」はなくても良いらしい*/ 330} 331 332.blank3 { 333 display: block; 334 content: ""; 335 height: 5.5vw; 336} 337 338.illust::before { 339 /*これはダッシュを書くためのコード*/ 340 position: absolute; 341 top: 50%; 342 left: 39vw; 343 content: ""; 344 /*float: left; はいらないかもしれない*/ 345 width: 4vw; 346 height: 0.12vw; 347 border-radius: 100vw; /*角を丸める。一定以上は丸くならない*/ 348 background-color: #ff007fff; 349} 350 351.pink { 352 font-family: 'Noto Sans JP', sans-serif; 353 color: #ff007fff; 354 font-weight: 300; 355 font-size: 4vw; 356 text-align: center; 357 transform: scale(1, 0.85); 358 position: relative; 359} 360 361.illust::after { 362 /*これはダッシュを書くためのコード*/ 363 position: absolute; 364 top: 50%; 365 right: 39vw; 366 content: ""; 367 /*float: left; はいらないかもしれない*/ 368 width: 4vw; 369 height: 0.12vw; 370 border-radius: 100vw; /*角を丸める。一定以上は丸くならない*/ 371 background-color: #ff007fff; 372} 373 374.blank4 { 375 display: block; 376 content: ""; 377 height: 0.75vw; 378} 379 380.gray { 381 font-family: 'Noto Sans JP', sans-serif; 382 color: #646464ff; 383 font-weight: 300; 384 font-size: 4vw; 385 text-align: left; 386 transform: scale(1, 0.85); 387 text-indent: 2em; 388} 389 390.two-img { 391 width: 85vw; 392} 393 394#img001 { 395 position: absolute; 396 top: 149.5vw; 397 left: 7.5vw; 398} 399 400#img002 { 401 position: absolute; 402 top: 237vw; 403 left: 7.5vw; 404} 405 406.blank { 407 display: block; 408 content: ""; 409 height: 185vw; 410} 411 412#links h1::after { /*css3ではbeforeやafter(疑似要素という)の前のコロンは2つ*/ 413 /*これは角丸下線を引くためのコード*/ 414 position: absolute; /*疑似要素の親にはrelative子にはabsoluteを指定しないといけない。理屈はわからない*/ 415 bottom: 0vw; 416 left: 34vw; 417 content: ""; 418 /*float: left; はいらないかもしれない*/ 419 width: 31vw; 420 height: 0.95vw; 421 border-radius: 100vw; /*角を丸める。一定以上は丸くならない*/ 422 background-color: #ff007fff; /*「-color」はなくても良いらしい*/ 423} 424 425#linkimg { /*「display: flex」を使用することをflexboxと言う*/ 426 /*flexboxの親要素を「コンテナ」子要素を「アイテム」と言う*/ 427 /*つまりこの要素はコンテナ*/ 428 display: flex; 429 /*flex-direction: row; 430 flex-wrap: nowrap; はいらないかも*/ 431 justify-content: space-around; 432 padding: auto; /*アイテム間の空白の幅*/ 433 margin-left: 2.5vw; /*コンテナの外側(左右)の幅*/ 434 margin-right: 2.5vw; 435} 436 437#linkimg img { /*この要素はアイテム*/ 438 width: 25vw; 439} 440 441#linkimg img:active { 442 filter: drop-shadow(0.5vw 0.5vw 0.5vw #c4c4c4ff); 443} 444 445.blank11 { 446 display: block; 447 content: ""; 448 height: 6.5vw; 449} 450 451#copyright p { 452 font-family: 'Noto Sans JP', sans-serif; 453 font-weight: 400; 454 color: #646464ff; 455 font-size: 1vw; 456 text-align: center; 457} 458 459.blank12 { 460 display: block; 461 content: ""; 462 height: 1.5vw; 463} 464 465/*以下トップへ戻るボタンとハンバーガーメニュー*/ 466 467/*以下略*/
以上になります。
既にご回答を1件いただいておりますので、そちらも試してしてみたいと思います。


回答1件
あなたの回答
tips
プレビュー