PC向け
課題
ページの高さがブラウザサイズを超えていた場合、縦向きのスクロールバーが出現する。
このとき100vwはスクロールバー分を含んだ幅の指定になるから、表示領域以上の幅を指定していることになるから、横向きのスクロールバーが出現する。
スマホのブラウザのアドレスバーとかへの対応はできるようになったのに、PCにはそれがない。
古くからjsでの対応策やoverflow:hidden;で無理やり見なかったことにするとかで生きていくしかなかった。
知らんうちに真っ当な手法でCSSだけでやっていけるようになったみたい。
こんな感じ
<body>
<div class="sample"></div>
</body>body{
container-type: inline-size;
}
.sample{
width: 100cqw;
}親コンテナ(body)を基準にして、その幅いっぱい(100cqw)を指定することで対応できる。
コンテナクエリというらしい。
すごく助かる。
ブラウザ幅基準だと@mediaでリキッドレイアウトを組んでいたけど、コンテナを指定できることから@containerで指定要素の幅による切り替えができるようになってた。
必要な場面に出くわしたことはないけど、作り込みが必要な際に結構助かるんじゃないだろうかと思います。


コメント