気を付けよう,vwとかvhとか
windowsのスクロールバーはvwの範囲に入っている
windowで
body{ width:100vw; }
body{ width:100vw; }
にすると横スクロールバーが出る(以下はみ出る)事がある。 殆どでる。 縦スクロールバーが出ないサイト以外で出る つまり殆どのサイトで100vwを設定するとはみ出る。
これはviewportの範囲内に「スクロールバー」も含まれていいるから。 つまり
100vw(幅100%)+スクロールバー
となっているので、横にはみ出ちゃう。
では
body{ width:calc(100vw - 18px); }
これはどうだろうか。 18pxはスクロールバーのだいたいの横幅
はみ出ない。 ところがどっこい。 今度はmacで幅が足りない。
そうですよね。 macはスクロールバーが画面端じゃなくて、浮いてる?感じだもんね。
結論(PCのwidth100vw)
1.100%が使える箇所では100%を使う 2.%でとれない箇所なら(borderとか)jsのouterWidthなどで取得したほうが良し。