タグで囲った画像(もしくは背景画像)を、ブラウザの幅縮めてもうまい具合に縮小させてくれるアレです。
scss
@mixinimg_ratio($property,$width,$height){#{$property}:percentage($height/$width);}
使い方
いつもみたいに@include
でよみこんで使いましょう
たとえば、300x200の画像のアスペクト比をpadding-topに出したい場合は
scss
@includeimg_ratio(padding-top,300,200);
になります。
コンパイル後は
css
padding-top:66.66667%;
こうなりました。
少しだけ解説
+ %
とか#{%}
とかつけといたらいけるだろう、と思ってたらできませんでした。😂
ので、いろいろと調べてみたわけなんですけども・・・
percentage
をつけると、単位のない数値をパーセントに変換してくれます。
公式サイトでは以下のページに解説がありました。
個人的によくつかうのでmixin化しました。
ここまちがってるぜ!的な指摘あればぜひぜひ・・・😂
もっと簡単だった
あとからご指摘いただいて、以下のようにすればmixin使わなくてもできるやん、ってなりました😆
scss
padding-top:percentage(200/300);
でも私、すぐ忘れてしまうので・・・(考え方とか、手順とか、なぜそうなるのかの部分)
念の為、記事はそのまま残しておくのです・・・😂