目次
縦横比を維持するのはCSSだけでは難しい
実際に横幅100%だったりとかでの対応が多いと思うのですが、
レスポンシブするにあたって、画像の縦横比を維持したまま横幅を%指定したい、という事がありますよね。
その時の実装方法を簡単に説明します。
1,まずはhtmlのimgタグを任意のdivタグで囲う
htmlファイル
2,cssでimgタグを天地中央揃えにする
cssファイル
.img-wrap img
は親要素の.img-wrap
に対して天地中央揃えにします。
.img-wrap img
をwidth 130%にしているのは、元の画像の縦横比と、トリミングする縦横比があまりにも差がある場合に、余白が出てしまうためです。
親の背景色指定で #000
をしているので余白が黒くなります。
なのでここは任意でOKです!余白が出るようなら150%とか160%にして微調整してみて下さい。
absulute
指定したことで親要素の.img-wrap
の高さがなくなっています。ですので高さをjQueryで指定してあげるという仕組みです。
3,jQueryで親要素の高さ指定をして完了
jsファイル
0.7
は、横幅に対して7割の高さを.img-wrap
に代入する、ということです。
なので横幅が100pxの場合高さが70pxになるということですね。
ここも任意で調整してみて下さい。
参考にどうぞ。