background-image プロパティを使って画像を重ねる
HTMLとCSSで画像を重ねる方法
position プロパティを使う
この方法は、画像を絶対配置または相対配置にして、重ねる位置を調整する方法です。
HTML:
<img src="image1.jpg" alt="Image 1">
<img src="image2.jpg" alt="Image 2">
CSS:
img {
position: absolute;
top: 0;
left: 0;
}
img:first-of-type {
z-index: 1;
}
img:last-of-type {
z-index: 2;
}
この例では、position: absolute;
で画像を絶対配置し、top
と left
プロパティで重ねる位置を調整しています。z-index
プロパティで、どの画像を前面に表示するかを指定しています。
background-image プロパティを使う
この方法は、要素の背景画像として画像を重ねる方法です。
<div class="container">
<img src="image1.jpg" alt="Image 1">
</div>
.container {
background-image: url("image2.jpg");
background-position: center;
background-repeat: no-repeat;
}
この例では、.container
要素の背景画像として image2.jpg
を指定しています。background-position
プロパティで画像の位置を調整し、background-repeat
プロパティで画像の繰り返し設定をしています。
flexbox を使う
この方法は、flexbox
レイアウトを使って画像を重ねる方法です。
<div class="container">
<img src="image1.jpg" alt="Image 1">
<img src="image2.jpg" alt="Image 2">
</div>
.container {
display: flex;
justify-content: center;
align-items: center;
}
この例では、.container
要素に flexbox
レイアウトを適用し、justify-content
と align-items
プロパティで画像を中央に配置しています。
HTMLとCSSで画像を重ねるには、いくつかの方法があります。それぞれの方法にはメリットとデメリットがあるので、目的に合った方法を選択してください。
position プロパティを使う
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>画像を重ねる</title>
<style>
img {
position: absolute;
top: 0;
left: 0;
}
img:first-of-type {
z-index: 1;
}
img:last-of-type {
z-index: 2;
}
</style>
</head>
<body>
<img src="image1.jpg" alt="Image 1">
<img src="image2.jpg" alt="Image 2">
</body>
</html>
background-image プロパティを使う
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>画像を重ねる</title>
<style>
.container {
background-image: url("image2.jpg");
background-position: center;
background-repeat: no-repeat;
}
</style>
</head>
<body>
<div class="container">
<img src="image1.jpg" alt="Image 1">
</div>
</body>
</html>
flexbox を使う
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>画像を重ねる</title>
<style>
.container {
display: flex;
justify-content: center;
align-items: center;
}
</style>
</head>
<body>
<div class="container">
<img src="image1.jpg" alt="Image 1">
<img src="image2.jpg" alt="Image 2">
</div>
</body>
</html>
HTMLとCSSで画像を重ねるその他の方法
transform
プロパティを使って、画像を回転したり、拡大縮小したりして重ねることができます。
<img src="image1.jpg" alt="Image 1">
<img src="image2.jpg" alt="Image 2">
img:first-of-type {
transform: rotate(45deg);
}
img:last-of-type {
transform: scale(1.5);
}
この例では、transform: rotate(45deg);
で最初の画像を45度回転させ、transform: scale(1.5);
で2番目の画像を1.5倍に拡大しています。
clip-path
プロパティを使って、画像の形を切り抜いて重ねることができます。
<img src="image1.jpg" alt="Image 1">
<img src="image2.jpg" alt="Image 2">
img:first-of-type {
clip-path: circle(50%);
}
img:last-of-type {
clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}
この例では、clip-path: circle(50%);
で最初の画像を円形に切り抜き、clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
で2番目の画像を四角形に切り抜いています。
mask
プロパティを使って、画像を別の画像でマスクして重ねることができます。
<img src="image1.jpg" alt="Image 1">
<img src="image2.jpg" alt="Image 2">
img:first-of-type {
mask-image: url("mask.png");
}
この例では、mask-image: url("mask.png");
で最初の画像を mask.png
でマスクしています。
html css