VIDEO LESSON

CSSのobject-fitの使い方:指定値・実例・効かない原因とブラウザー互換性の解説動画

再生時間 8:17動画を別のタブで開く ↗
動画の字幕・文字起こしを読む

再生中の字幕を濃い黒で表示し、一番上に追従します。字幕の行を選ぶと、その位置から再生できます。

  1. 0:00こんにちは。
  2. 0:00シーエスエス、リファレンス解説です。
  3. 0:03今回のテーマは、オブジェクトフィットです。
  4. 0:07これは、イメージタグやビデオタグの中身を、決められた枠の中にどう収めるかを指定するプロパティです。
  5. 0:15たとえば、同じ横長の写真を同じ大きさの枠に入れても、端を切り取って枠いっぱいに見せる方法と、
  6. 0:21写真全体が見えるように小さく収める方法があります。
  7. 0:27その違いを切り替えるのがこのプロパティです。
  8. 0:30この動画では、カバーとコンテインを中心に、五つの値の意味、効く条件、効かないときの確認まで順番に見ていきます。
  9. 0:39サムネイルやヒーロー画像など、実際のサイト制作で毎日のように出会う場面ですので、
  10. 0:44最初にしっかりイメージをつかんでおきましょう。
  11. 0:50まず基本の書き方です。
  12. 0:51スライドのように、対象のクラスにオブジェクトフィットと、収め方を表す値を書くだけです。
  13. 0:58プロパティ名の後ろにコロン、値の最後にセミコロンを置く、通常の宣言と同じ形です。
  14. 1:04クラス名は、エイチティーエムエルのクラス属性と一致させてください。
  15. 1:08仕様上の初期値はフィルで、これは枠に合わせて中身を引き伸ばすという意味です。
  16. 1:14通常は親から子へ継承しません。
  17. 1:16画像ごとに収め方が違うことが多いので、必要な要素ごとに自分で指定するものだと覚えておきましょう。
  18. 1:23指定できる値は、主に五つあります。
  19. 1:26フィル、コンテイン、カバー、ノン、スケールダウンです。
  20. 1:31フィルは枠に合わせて中身を引き伸ばします。
  21. 1:34コンテインは中身の全体が枠に入る大きさにします。
  22. 1:38カバーは枠全体を覆う大きさまで広げて、はみ出した部分を切り取ります。
  23. 1:44ノンは元の大きさのまま置きます。
  24. 1:47スケールダウンは、ノンとコンテインのうち、小さくなる方を選びます。
  25. 1:52一度に全部覚える必要はありません。
  26. 1:55実務で圧倒的によく使うのはカバーとコンテインの二つなので、まずこの二つの違いを押さえましょう。
  27. 2:03この五つは、引き伸ばすか、全体を入れるか、覆って切り取るか、元の大きさのままか、
  28. 2:09という収め方の違いだと整理すると覚えやすくなります。
  29. 2:14まずフィルとノンです。
  30. 2:16フィルは初期値で、枠の幅と高さに合わせて中身を引き伸ばしたり縮めたりします。
  31. 2:22枠をすき間なく埋められますが、元の縦横比と枠の比率が違うと、写真が横に伸びたり縦に潰れたりして見えます。
  32. 2:30人物写真では顔が変形してしまうので、注意が必要です。
  33. 2:34一方、ノンは中身を拡大も縮小もせず、元の大きさのまま枠の中央に置きます。
  34. 2:40枠より中身が大きければ端が切り取られ、小さければ周りに余白が残ります。
  35. 2:46比率を守りたいときの基準として理解しておきましょう。
  36. 2:50カバーは、五つの中で最もよく使われる値です。
  37. 2:53中身の縦横比を保ったまま、枠全体を覆い尽くす大きさまで拡大または縮小します。
  38. 3:00そのため余白はできませんが、枠からはみ出した部分は切り取られます。
  39. 3:05カードや一覧のサムネイルで、元の写真の比率がバラバラでも枠の大きさをそろえたい、
  40. 3:09そんな場面にぴったりです。
  41. 3:14ただし、大切な被写体が端にあると切れてしまうことがあります。
  42. 3:19どこが切れるかは、次に学ぶオブジェクトポジションで調整できますので、組で覚えておきましょう。
  43. 3:26前回学んだオブジェクトポジションと組み合わせれば、切り取る位置まで細かくコントロールできる点も、
  44. 3:31実務で重宝される理由の一つです。
  45. 3:37コンテインは、カバーと正反対の考え方です。
  46. 3:40中身の縦横比を保ったまま、全体が枠の中にすっぽり入る大きさまで縮めます。
  47. 3:46写真の端まで全部見せたいときに向いていますが、枠と比率が違うと、上下や左右に余白が残ります。
  48. 3:54ロゴや図解など、切れてはいけない画像でよく使われます。
  49. 3:59もう一つのスケールダウンは、ノンとコンテインを比べて、より小さく表示される方を自動で選びます。
  50. 4:07元が小さい画像を無理に引き伸ばしたくないときに便利な値です。
  51. 4:12余白の色は要素の背景色で決まるため、背景色も合わせて指定しておくと、余白ができてもデザインが崩れず、
  52. 4:18意図した見た目に仕上がります。
  53. 4:23ここからは実例です。
  54. 4:25エイチティーエムエルでは、ステージという親の中に、デモというクラスを付けた画像を一枚置きます。
  55. 4:32比較用の画像は、左に円、右に四角を配置した図です。
  56. 4:36シーエスエスでは、その画像を表示ブロックにし、幅は親いっぱいのひゃくパーセント、
  57. 4:40高さはじゅうにレムに固定します。
  58. 4:44枠の大きさを先に決めておくことが大切で、この土台があるからこそ、収め方の違いが見えるようになります。
  59. 4:52土台はそのままにして、最後のオブジェクトフィットだけを切り替えて比べていきます。
  60. 4:58横長の画像を横長とは違う比率の枠に入れると違いがはっきり出ますので、手元の写真で試すときも比率の違う組み合わせを選ぶのがおすすめです。
  61. 5:09土台に、オブジェクトフィット、カバーを指定した状態がこちらです。
  62. 5:14画像は縦横比を保ったまま枠を覆う大きさに広がり、枠からはみ出した部分が切り取られます。
  63. 5:21余白がないので、見た目はすっきりそろいます。
  64. 5:25その代わり、元の図の端の部分は枠の外に隠れて見えなくなります。
  65. 5:30ファイルを保存してブラウザーを再読み込みし、まずこの切り取る表示をしっかり確認してください。
  66. 5:37この状態が、次のコンテインとの比較の基準になります。
  67. 5:42写真の中央に被写体がある場合は、この指定がそのまま答えになることも多いです。
  68. 5:48では、最後の値だけをコンテインに変えてみましょう。
  69. 5:52他の指定はすべて同じです。
  70. 5:54今度は画像全体が枠の中に収まる大きさになり、先ほど切れていた端まで全部見えるようになります。
  71. 6:02その代わり、枠との比率の差の分だけ、上下や左右に余白が残ります。
  72. 6:08画像そのものも、枠の大きさも変えていないのに、切り取るか全体を収めるかだけが入れ替わりました。
  73. 6:16この比較が、このプロパティの本質です。
  74. 6:19被写体を守るか、そろって見せるか、目的に合わせて選ぶのが使い方のコツです。
  75. 6:26切り取るか、全体を見せるかは、写真の内容次第です。
  76. 6:30商品の全体像を見せたいならコンテイン、雰囲気をそろえたいならカバー、と目的で使い分けてください。
  77. 6:38効かないと感じたときの確認です。
  78. 6:41最も多いのは、画像の表示枠の幅と高さが指定されていないケースです。
  79. 6:46枠が中身に合わせて決まってしまうと、収め方を変えても見た目がほとんど動きません。
  80. 6:53まず幅と高さを決めているかを確認してください。
  81. 6:57また、カバーでは画像の一部が必ず切れることがあるため、オルトの内容と合わせて、
  82. 7:02大切な情報が失われていないかも見直しましょう。
  83. 7:07そのうえで、スタイルシートが読み込めているか、セレクターとクラスが一致しているか、
  84. 7:14開発者ツールのスタイルズで上書きされていないか、コンピューテッドで最終的な値も確認します。
  85. 7:21小さな画面幅や文字を拡大した状態でも、大切な被写体が見えているかどうかも合わせて確認しておくと、
  86. 7:26実利用での失敗を防げます。
  87. 7:31最後に互換性とまとめです。
  88. 7:33オブジェクトフィットは、クロームさんじゅうに以降、エッジななじゅうきゅう以降、
  89. 7:39ファイアフォックスさんじゅうろく以降、サファリじゅう以降と、現在の主要ブラウザーで広く対応しています。
  90. 7:45まとめます。
  91. 7:46オブジェクトフィットは枠の中への中身の収め方を決め、初期値はフィル、継承はしませんでした。
  92. 7:53カバーは切り取って埋め、コンテインは全体を収める値でした。
  93. 7:57練習として、カバーとコンテインの違いを言葉で説明し、自分の画像でも、切れてよい部分があるかで値を選んでみてください。
  94. 8:05お疲れさまでした。
  95. 8:06値の名前だけでなく、効く条件である枠の大きさまで言えるようになれば、このプロパティは卒業です。
  96. 8:13次の背景の記事とも合わせて復習してみてください。
日本語字幕をダウンロード(WebVTT)

この動画で学べること

object-fitの役割と主な指定値を解説。同じ画像枠で切り抜くか、画像全体を収めるかが変わります。初期値・継承・ブラウザー互換性、効かないときの確認方法も整理します。

解説記事・サンプルコードを読む:CSSのobject-fitの使い方:指定値・実例・効かない原因とブラウザー互換性 →