CSS – 要素からはみ出させる
親要素から子要素をはみ出させるにはposition
を使うのもいいのですがwidth
を使ってはみ出させる方法もあります。簡単ではありますが、下記のコードのように使用すれば簡単にはみ出すことができます。
<!DOCTYPE html>
<html>
<head>
<title>Demo</title>
</head>
<body>
<main>
<article>
<div class="wrap">
<img src="https://images.unsplash.com/photo-1579353977828-2a4eab540b9a" alt="" />
</div>
</article>
</main>
</body>
</html>
main{
width:100%;
height:100%;
}
article{
width:300px;
height:100%;
margin-left:100px;
background:gray;
padding-top: 50px;
}
.wrap{
width: 100%;
background: black;
}
img{
width:110%;
margin: 0 -5%;
}
上記の例は画像をarticle
要素からはみ出して表示するCSSになります。
親要素がどんなサイズであろうが子要素は親要素の100%+10%でサイズを維持するのでシンプルかなと思います。position
プロパティを使用するよりかはシンプルにコードをかけるので複雑ではない限りこちらのほうが無難かなと思いました。
子要素の高さについて
HTML構造にもよるのですが子要素のさらに子要素みたいになってくると画像がつぶれてしまったりする場合もあるかと思います。画像の高さを維持したい場合はobject-fit
プロパティが有効かと思いますのでそちらを使ってそれなりに調整をするのもいいかもしれません。