このごろよく使っているのでメモ。
要点としては次の2つでやってます
– 正方形=親要素の横幅にあわせて高さを自動調整
– 画像=背景画像にする+background-sizeプロパティを調整
ベースのHTML
<div class=”square-frame”>
<a href=”#” ><span class=”square-content”></span></a>
</div>
まずは枠のCSS
*枠線はわかりやすいように設定しています
.square-frame { border: 1px dotted #999; } .square-content { display: block; height: 0; width: 100%; padding-bottom: 100%; }
横幅:120px指定
横幅:25%指定
長方形にしたいときは、比率を考えてpadding-bottomの%を変えてやります。
背景設定
背景はspanのbackground-imageで設定。フルフルで利用できるようにbackground-sizeはcoverにしておきます。
* わかりやすいように背景CSSを別classにしていますので、ベースHTMLのspan側にclass指定を追加しました。
.bg-sample { background-image:url(http://www.nalabo.net/blog/wp-content/uploads/2017/05/IMG_9537.jpg); background-size: cover; }
横幅:120px指定
横幅:25%指定
25%指定のほうは、ブラウザの横幅に応じて自動的に大きさが調節されます。メディアクエリーとあわせて、レスポンシブコーディング時に結構使い勝手良く、正方形画像表示ができるCSSでした。