LoginSignup
0
0

More than 3 years have passed since last update.

画像のアスペクト比を維持しながら縮小させるmixin(だけどmixinじゃなくても大丈夫だった)

Last updated at Posted at 2020-03-25

タグで囲った画像(もしくは背景画像)を、ブラウザの幅縮めてもうまい具合に縮小させてくれるアレです。

scss
@mixin img_ratio($property, $width, $height) {
    #{$property}: percentage($height / $width);
}

使い方

いつもみたいに@includeでよみこんで使いましょう

たとえば、300x200の画像のアスペクト比をpadding-topに出したい場合は

scss
@include img_ratio(padding-top, 300, 200);

になります。

コンパイル後は

css
padding-top: 66.66667%;

こうなりました。

少しだけ解説

+ %とか#{%}とかつけといたらいけるだろう、と思ってたらできませんでした。😂
ので、いろいろと調べてみたわけなんですけども・・・

percentageをつけると、単位のない数値をパーセントに変換してくれます。
公式サイトでは以下のページに解説がありました。

sass:math

個人的によくつかうのでmixin化しました。
ここまちがってるぜ!的な指摘あればぜひぜひ・・・😂

もっと簡単だった

あとからご指摘いただいて、以下のようにすればmixin使わなくてもできるやん、ってなりました😆

scss
padding-top: percentage(200 / 300);

でも私、すぐ忘れてしまうので・・・(考え方とか、手順とか、なぜそうなるのかの部分)
念の為、記事はそのまま残しておくのです・・・😂

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0