CSS での背景画像の中央配置
このチュートリアルでは、CSS で背景画像を中央に配置するいくつかの方法を示します。
CSS で背景プロパティを使用して背景画像を中央に配置する
さまざまな背景プロパティを使用して、CSS で背景画像を中央に配置できます。
background-image
、background-repeat
、background-attachment
、background-position
、background-size
などのプロパティを使用して、背景画像を中央に配置します。background
省略形プロパティを使用して、これらのさまざまなプロパティを定義することもできます。
background-image
プロパティは、url()
関数を使用して画像を設定します。background-repeat
プロパティを使用して、画像の繰り返し動作を定義します。
background-attachment
プロパティは、背景の固定またはスクロール動作を定義します。background-position
プロパティを使用して、背景の開始位置を設定できます。
最後に、background-size
プロパティを使用して画像のサイズを設定できます。
たとえば、CSS で html
タグを選択し、スタイルを適用します。
まず、background-image
プロパティを使用して背景画像を設定します。次に、background-repeat
プロパティを no-repeat
に設定します。
次に、background-attachment
プロパティの fixed
オプションを記述します。その後、background-position
プロパティを center center
オプションに適用し、background-size
プロパティを cover
に適用します。
次の例では、no-repeat
オプションを使用すると、画像が繰り返されなくなります。背景画像のサイズが小さい場合、画像は行と列として複製されます。
background-attachment
プロパティに fixed
オプションを使用したため、ページをスクロールしても背景画像は固定されたままになります。background-position
プロパティのオプション center center
は、画像を水平方向と垂直方向の中央に配置します。
最後に、cover
オプションは、html
コンテナ全体をカバーするように画像のサイズを変更します。したがって、CSS のさまざまな背景プロパティを使用して背景画像を中央に配置できます。
サンプルコード:
html{
background-image: url("/img/DelftStack/logo.png");
background-repeat: no-repeat;
background-attachment: fixed;
background-position: center center;
background-size: cover;
}
CSS で width
、height
、left
、および top
プロパティを使用して背景画像を中央に配置する
この方法では、width
、height
、left
、top
などのプロパティを使用して、CSS で背景画像を中央に配置する別の方法について説明します。高さと幅を 100%
に設定して、画像が body
タグの高さと幅全体を占めるようにすることができます。
body
要素は img
要素の親です。top
および left
プロパティを使用して、背景画像から画像の上部および左側の要素までの距離を設定できます。
これらの 2つのプロパティは、要素の position
プロパティが設定されている場合にのみ機能することに注意してください。
たとえば、img
タグを選択し、width
および height
プロパティを 100%
に設定します。次に、position
プロパティを fixed
に設定します。次に、left
および right
プロパティを 0
に設定します。
left
および right
プロパティで 0
値を使用して、隣接する要素を含む画像の上端と左端にスペースを残しませんでした。その結果、画像はブラウザのビューポートに収まります。
このようにして、これらのさまざまなプロパティを使用して、CSS の背景画像を中央に配置できます。
サンプルコード:
img {
width: 100%;
height: 100%;
position: fixed;
left: 0;
top: 0;
}
<div>
<img src="/img/DelftStack/logo.png">
</div>
Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.
LinkedIn