デモ・サンプル では、
1,「
image
を直接埋め込む + font-size + box要素のmargin に
vw を使用」
2,「
image を
background で表示 + 縦横サイズと font-size + box要素のmargin に
vw
を使用」
3,「
image を background で表示 + 各数値を
javascript で制御」
以上の3種類の手法を例に作成してみました。
結果的に3種類とも一見同じ動きに成りましたが、vw
を使用した場合にブラウザが未対応の物が有る様です。
又 Javascript を使用した例では、再読み込み・リサイズ
共に若干タイムラグが発生しました。 この問題はwindow load event
に[window.addEventListener('load', function(){})]
window
resize event に[window.addEventListener( 'resize', function()
{})]を使用した際に発生し、同記述を[window.onload =
function(){}],[window.onresize = function(){}]に変更する事で解消しました。
が、・・基本的にこの記述では、基本指定のサイズに対して倍率可変でサイズ変更を行っているため、倍率可変が生じた際の読み込み時には、必ずタイムラグが生じてしまいます。
この問題の解消については、未だ成し得てはいません。
又、当初書き入れていなかった、サイズ可変のボーダーラインである 800px 超の window size
時の対応について、倍率初期化(倍率 x
1.0)を書き加える事で、サイズ可変の両方向(縮小と拡大)にスムーズに対応する様になりました。
実用と言う観点ではあまり意味は無いとは思いますが・・・
各要素に対して[flex
box]を指定する事で、センター寄せと最低限のサイズ対応の指定が不要になっています。
実際現役のプログラマーがどのような手法を使っているのかは知りませんが、flex box
と併用する事で労力は少なくて済みますと言うのが実感です。