Quantcast
Channel: CSSタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 8695

画面幅に合わせて可変する正方形を作りたい

$
0
0

はじめに

レスポンシブ対応のウェブページを作っているときに、画面幅に合わせて可変する正方形が必要になったので、調べて実装しました。
今後、使い回しが効きそうだったので備忘録として残しておきます。

固定サイズの正方形を作る

<divclass="square"></div><style>.square{width:100px;height:100px;background-color:red;}</style>

こうですね。
わかりやすく赤色の正方形です。

横方向を画面幅に合わせて可変させる

<divclass="square"></div><style>.square{width:50; <=変更しましたheight:100px;background-color:red;}</style>

この状態で、画面幅をいじると、四角形の横幅が変化します。

正方形にする

<divclass="square"><divclass="inner"></div></div><style>.square{width:50%;height:100px;background-color:red;}.inner{width:0px;height:0px;}

四角形の中に、高さ・幅とも0のdivを入れました。
この中に入れたdivにpadding-bottomを設定します。

.inner{width:0px;height:0px;padding-bottom:100%;<=追加}

marginやpaddingを%で指定する場合、親要素の幅から計算されます。
topやbottomでも親要素の幅が基準になります。
なので赤い四角形の幅が500pxだった場合、padding-bottom 100%も500pxになるわけです。

最後に赤い四角形の高さ指定を外してあげれば、完成です。

完成形

<divclass="square"><divclass="inner"></div></div><style>.square{width:50%;background-color:red;}.inner{width:0px;height:0px;padding-bottom:100%;}

画面幅に合わせて可変する正方形の完成です。


Viewing all articles
Browse latest Browse all 8695

Latest Images

Trending Articles

<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>