サムネのクロップ目的で background-image を使うのは止めて object-fit にしよう
たとえば、こんなユーザーアイコンをコーディングするときに...
_avators.slim.html
.legacy-avator
.legacy-avator__image style="background-image: url('画像のURL');"
.legacy-avator__badge 3
_legacy-avator.sass
.legacy-avator
position: relative
height: 64px
width: 64px
.legacy-avator__image
width: 100%
height: 100%
background-size: cover
background-position: center center
+border-radius(32px)
.legacy-avator__badge
// 省略
このようなコードを書いてしまうこと、ありますよね。
画像の縦横比が不明だけど、縦横比を維持したまま所定のサイズを埋めたい!
という要求を満たしたいがためにstyle属性を使う、という屈辱的なコードです。
そこで object-fit
object-fitの詳細はMDNなどで確認してください。
https://developer.mozilla.org/en-US/docs/Web/CSS/object-fit
object-fitをつかうと、こんな風にすっきり記述できます。
_avators.slim.html
.avator
img.avator__image src="画像のURL"
.avator__badge 3
_avator.sass
.avator
height: 64px
width: 64px
.avator__image
width: 100%
height: 100%
object-fit: cover
object-position: 50% 50%
+border-radius(32px)
.avator__badge
// 省略
object-fitを使えば、余計なアトリビュートを使わずにimgタグとしてとても素直に記述できます。
きもちいい!!
2015年から使えたなんて知らなかったぜ。。。
対応ブラウザ
モダンなサービスなら問題無いんじゃないかな!
MDN > Web technology for developers > CSS > object-fit より
Can I use より
Author And Source
この問題について(サムネのクロップ目的で background-image を使うのは止めて object-fit にしよう), 我々は、より多くの情報をここで見つけました https://qiita.com/hori@github/items/8dac45ebfe4649f292c0著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .