css でウィンドウ幅に対して色々設定したい
問題
css
とかで画面幅の何割,みたいな長さの指定をしたい時がある.
解決
様々な方法があるがここにすごく単純な解がある:
vs
,vw
を使う.
“viewport width” の n% を示すのに n vw
, height なら vh
となる.vmin
が幅と高さのうち小さい方の n%, vmax
が大きい方.
height:80vh;
width:50vw;
というふうに指定したデモを ここ に置いてみたから試して欲しい.
browser compatibilities
これは結構最近の機能ではあるらしいのだが,caniuse.com を見てみると大体のブラウザで対応は終了していそうだ.
手持ちの環境で試したのとを並べるとこんな感じになりそう: とりあえず vh
と vw
が見られてれば OK ということにする.
全体に Ubuntu 12.04 での最新版です.
browser | supported? |
---|---|
Firefox 30.0 | ✔ |
Chromium 34.0.1847.116 | ✔ |
Opera (latest) | ✔ |
Opera 12.16 (latest version for linux) | ✘ |
Konqueror 4.8.5 | ✘ |
Midori 0.4.3 | ✘ |
Opera の最新版は対応してるけど,Linux ようのがちょっと古いのは気を付けないといけないですね.
iPad のブラウザはこんな感じ.きょうの時点での最新版です
browser | supported? |
---|---|
Safari | ✔ |
google chrome | ✔ |
Dolphin Browser | ✔ |
ScriptBrowser plus | ✔ |
Opera Coast | ✔ |
Opera Mini | ✘ |
Dolphin とか SBplus とかって自前でやってるのかどうか知らないけれど.
いずれ記事書くつもりでいたけどマイナっぽいブラウザ2種を勝手にお勧めします.
- ScriptBrowserPlus
- iPad 上で “View Source” が出来る,知る限り唯一のブラウザ.タブレットの特性を活かしており操作性もきわめて良い.地味ながら最強ブラウザのひとつと勝手に思っている.
- Opera Coast
- Opera が提供する「タブレットのための」ブラウザ.最初戸惑うがカッコいい操作性,すっきりした UI など加点要素は多い.ただ所謂タブが明示的にはないなど,現状メインブラウザとして使うにはやや癖が強すぎる感があり,気分を変える二番手みたいな立ち位置か.