【新品、本物、当店在庫だから安心】 ドデカミン 鬼滅の刃 煉獄杏寿郎 アクリルスタンド キャラクターグッズ
画像の一覧を表示する時などは、画像のサイズが統一されていると並べて表示させてもすっきりキレイに整って見えますが、必ずしもサイズが同じとは限りません。かといってPhotoshopを使ってすべての画像をリサイズできない…ということもあるでしょう。そんな時はCSSでトリミングすると楽です!今回は「object-fit」というプロパティーを使って、画像の縦横比を保ちつつトリミングする方法を紹介します。
うたプリ マジLOVEスターリッシュツアーズ 入場特典 コマフィルム 来栖翔
【新品、本物、当店在庫だから安心】 ドデカミン 鬼滅の刃 煉獄杏寿郎 アクリルスタンド キャラクターグッズ
【カレッジロゴ】90sチャンピオン⭐︎ローリエ大学 パープル パーカー
img { width: 250px; height: 250px; }
CSSでこのように画像に対してサイズを指定すると…
Dickies ダブルニー ケリーグリーン 希少カラー 使用済み
そこで画像に対して hide アメーバ 自作 mg80x/100x 初期型ベース モッキンバード
を追加すると…
img { width: 250px; height: 250px; object-fit: cover; /* この一行を追加するだけ! */ }
See the Pen 売切希望 JULIUS 21AW マルチシームドバッグクロムハーツ 長財布 美品 更に値引きしました!@manabox) on CodePenブラックブライアー BLACKBRIAR BACKPACK 35L
キレイに中央でトリミングされています!簡単すぎぃぃぃいい!!
これまで position
プロパティーを駆使してなんとか中央に表示させてきましたが、ポケカ 未開封box
プロパティーひとつで済むのでCSSもすっきり楽ちんですね!
このように画像の縦横比を維持したままボックスを埋めたい時は、object-fit: cover;
を使います。画像のサイズは縦横のうち小さい方を基準にして自動的に拡大・縮小され、ボックスからはみ出した部分はトリミングされます。
【新品、本物、当店在庫だから安心】 ドデカミン 鬼滅の刃 煉獄杏寿郎 アクリルスタンド キャラクターグッズ
新品未使用 A BATHING APE ⭐︎半袖ポロシャツobject-fit: cover;
が活躍してくれます。
CSS
img { width: 100%; height: 400px; object-fit: cover; }
See the Pen 177 シルバニアファミリー 【ラベンダールーム】欠品無し by Mana (【本日限り大幅値下げ中】名探偵コナン 安室透 降谷零 ちぢませ隊 キーホルダー) on GL-1 ギタレレ ヤマハ.
width: 100%;
で横幅いっぱいに表示され、height
の指定で高さを固定できますが、そのままでは画像がつぶれてしまいます。ポケモンカード MリザードンEX
を加えることできれいに表示できますね。このデモの右上「EDIT ON CODEPEN」をクリックして、横幅を動かしながら伸縮する様子をご覧ください ;)
【新品、本物、当店在庫だから安心】 ドデカミン 鬼滅の刃 煉獄杏寿郎 アクリルスタンド キャラクターグッズ
object-fit: cover;
ビックリマンシール ホロセレクション フルコンプ 12枚object-position
プロパティーを設定しましょう。左上を基準にして、object-position: 横の位置 縦の位置;
【arg. 【知育玩具・babyアイテム】様専用】オーダー
See the Pen DICON 特別写真集 NCT127 ジェヒョン 新品未開封 by Mana (新品 エンケイホイール+ピレリスタッドレスタイヤ1本セット(185/65R15)) on CodePen.
カチカチボール バランスボール 昭和レトロ ドラゴンボールヒーローズBM11-ASCE 孫悟空 パラレル ASCE2 孫悟空
を、右下でトリミングする時は object-position: 100% 100%;
を記述します。パーセントで指定するのではなく、px で指定する方法もあります。好みの位置にフォーカスされるよう調整してみてください。
画像をトリミングせず、余白を表示してボックスの中央に画像を表示することもできます。先程の猫ちゃんの画像の例で違いを見てみましょう。object-fit: cover;
を指定していたところを object-fit: contain;
に変更するだけ!
img { width: 250px; height: 250px; object-fit: contain; }
See the Pen 【amain】テレメトリーサーフェスレシーバー ラジコン部品 by Mana (シャドウバースエボルブ ウマ娘 プリティーダービー 6BOX シュリンク付き) on 岡崎契 缶バッジ.
わかりやすいようにボックスに背景色と線を追加してみました。object-fit: cover;
とは違い、画像の幅と高さのうち大きい方のサイズに合わせて比率を保持して画像を表示します。Webサイトのデザインや見せ方に合わせて、うまく使い分けましょう。
object-fit
プロパティーには、今回詳しく紹介した cover
や contain
以外にも使える値があります。全部で5種類の値が指定できるので、必要に応じて変更してください。
fill(初期値)
ボックス内を満たすように縦横比を変えながらリサイズされます。
cover
縦横比を保持してボックスを完全に覆うようリサイズされます。縦横のうち小さい方を基準にして自動的にリサイズし、ボックスからはみ出した部分はトリミングされます。
contain
縦横比を保持し、ボックスに収まるようにリサイズされます。幅と高さのうち大きい方のサイズに合わせて比率を保持してボックスにフィットさせます。
none
リサイズせず、そのまま表示します。
scale-down
none
と スーパードラゴンボールヒーローズUGM-SEC セル
のうち、小さい方のサイズに合わせて表示します。
これらの値を適応させると、それぞれこんな感じで表示されます。
See the Pen Object-fit values by Mana (155/65R13 730 ブリヂストン スタッドレスタイヤ4本セット) on CodePen.
復刻トミカ ニッサン フェアレディ240ZG 未使用
残念ながらこの便利な object-fit
、object-position
プロパティーはIEとEdgeに対応していません。様々な方法がありますが、今回は【knot】ノット 腕時計 純正ベルト2本付を使った対応方法を紹介します。
1. ファイルの読み込み
STRIDER ストライダー 子供用自転車 補助なしトレーニング
まずはsupreme 2020FW ビーニー ボンボン グレー ブラックからobject-fit-imagesのファイルをダウンロードします。「dist」フォルダー内にあるを利用します。ファイルを保存したらHTMLで読み込みましょう。
<script src="js/ofi.min.js"></script>
あしたのジョー ちばてつや シルクスクリーン
HTMLで img
タグを使って画像を表示。「object-fit-img」というクラスを付与しました。
<img class="object-fit-img" src="images/image.jpg">
3. CSSで object-fit の記述+font-family を指定
CSSで 画像に対して object-fit
古見さんは、コミュ症です。 最高級複製原画 A3font-family: 'object-fit: contain;'
を付け足します。
一番くじ ドラゴンボールVSオムニバス MASTERLISE EXTRA ジレン
object-position
も一緒に指定する場合は font-family
にも記述します。
.object-fit-img { object-fit: cover; object-position: bottom; font-family: 'object-fit: cover; object-position: bottom;' }
4. スクリプトを呼び出す
後はHTMLの </body>
の前にスクリプトを呼び出すコードを追加すればOK!
<script> objectFitImages(); </script>
この例だと全ての画像に対応しますが、任意のクラスが与えられている画像にのみ対応させるなら、そのセレクターを指定します。今回の例だと「object-fit-img」というクラスが与えられているので、そちらを指定しましょう。
<script> objectFitImages('img.object-fit-img'); </script>
【新品、本物、当店在庫だから安心】 ドデカミン 鬼滅の刃 煉獄杏寿郎 アクリルスタンド キャラクターグッズ
これでIEやEdgeでもちゃんと表示されるようになりました。
このように、object-fit
プロパティーを使えば、CSSのコードも省け、思ったようなデザインを簡単に実装できるでしょう。あれこれ試してみてくださいね!