HTML
 Computer >> コンピューター >  >> プログラミング >> HTML

HTML DOM StyleのobjectFitプロパティとは?使い方とサンプルコードを徹底解説

HTML DOM の objectFit プロパティは、HTMLドキュメント内の画像(img)や動画(video)などの置換要素を、そのコンテナ要素にどのように収めるか(リサイズ方法)を取得・設定するためのスタイルプロパティです。CSS の object-fit プロパティに対応し、JavaScript から動的に制御できます。

構文(Syntax)

objectFit プロパティの基本的な構文は以下の通りです。

1. 値を取得する場合

object.objectFit

2. 値を設定する場合

object.objectFit = "value"

value には以下の値を指定できます。

説明
initialこのプロパティの値をデフォルト値に設定します。
inherit親要素からこのプロパティの値を継承します。
noneコンテンツはリサイズされず、元のサイズのまま表示されます。
fillコンテンツが要素のコンテンツボックス全体を埋めるようにサイズ変更されます。必要に応じてオブジェクトは引き伸ばされたり、つぶされたりします(デフォルト値)。
containアスペクト比(縦横比)を維持したまま、要素のコンテンツボックス内に収まるようにコンテンツが拡大・縮小されます。
coverアスペクト比を維持しながら、要素のコンテンツボックス全体を覆うようにコンテンツがサイズ変更されます。はみ出した部分は切り取られます。
scale-downnone と contain のうち、より小さく表示される方が適用されます。

それでは、HTML DOM Style の objectFit プロパティの具体的な使用例を見ていきましょう。

サンプルコード

次の例では、ボタンをクリックすると画像要素に対して objectFit = "contain" が設定される仕組みです。

<!DOCTYPE html>
<html>
<style>
    body {
        color: #000;
        height: 100vh;
        background-color: #8BC6EC;
        background-image: linear-gradient(135deg, #8BC6EC 0%, #9599E2 100%);
        text-align: center;
    }
    .btn {
        background: #db133a;
        border: none;
        height: 2rem;
        border-radius: 2px;
        width: 40%;
        display: block;
        color: #fff;
        outline: none;
        cursor: pointer;
        margin: 1rem auto;
    }
    .img-class {
        width: 200px;
        height: 250px;
    }
</style>
<body>
<h1 style="text-align:center">DOM Style objectFit プロパティ デモ</h1>
<img alt="Learn Time Series" src="https://www.tutorialspoint.com/time_series/images/time-series-mini-logo.jpg" class="img-class" width='300' height='200'>
<button class="btn" onclick="set()">objectFit を設定</button>
<script>
    function set() {
        document.querySelector('.img-class').style.objectFit = "contain";
    }
</script>
</body>
</html>

実行結果

ページを表示すると、指定したサイズ(200×250px)の領域に画像が配置されています。

「objectFit を設定」 ボタンをクリックすると、JavaScript によって画像要素の objectFit プロパティに contain が設定され、画像がアスペクト比を維持したままコンテナ内に収まるように表示されます。

ポイントまとめ

  • objectFit は画像や動画をコンテナにフィットさせる方法を制御するプロパティ
  • 主な値は fill(デフォルト)、containcovernonescale-down
  • アスペクト比を崩したくない場合は containcover を活用すると便利
  1. HTML DOM スタイルの transformOrigin プロパティとは?使い方を徹底解説

    HTML DOM のスタイルオブジェクトが持つ transformOrigin プロパティは、HTML ドキュメント内の要素に対して 2D または 3D 変換を行う際の「原点(基準点)」を取得・設定するためのプロパティです。要素を回転や拡大縮小させる transform プロパティと組み合わせて使うことで、変換の基準となる位置を自由にコントロールできます。構文(シンタックス)transformOrigin プロパティの基本的な構文は以下のとおりです。値の取得object.style.transformOrigin値の設定object.style.transformOrigin = 値指定できる

  2. HTML DOM StyleのobjectFitプロパティとは?使い方とサンプルコードを徹底解説

    HTML DOM の objectFit プロパティは、HTMLドキュメント内の画像(img)や動画(video)などの置換要素を、そのコンテナ要素にどのように収めるか(リサイズ方法)を取得・設定するためのスタイルプロパティです。CSS の object-fit プロパティに対応し、JavaScript から動的に制御できます。 構文(Syntax) objectFit プロパティの基本的な構文は以下の通りです。 1. 値を取得する場合 object.objectFit 2. 値を設定する場合 object.objectFit = value value には以下の値を指定できます。 値説