我正在尝试制作一个溢出其父div的图像,但这是根据其父级居中。
以下是我希望看到的内容:
这是我目前的代码,但显然不起作用,
.wrapper{
height:150px;
width:150px;
position:relative;
background:red;
margin:5em auto;
}
.image{
width:175%;
height:auto;
position:absolute;
}
body{
background:purple;
}
<div class="wrapper">
<img class="image" src="https://pngimg.com/uploads/goat/goat_PNG13151.png">
</div>
的jsfiddle
Fiddle
我想在纯css中实现这一点,不使用javascript。
答案 0 :(得分:4)
您可以使用"negative translate"技巧将图像居中。
这是一个有效的例子:
.wrapper {
height: 150px;
width: 150px;
position: relative;
background: red;
margin: 5em auto;
}
.image {
width: 175%;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
body {
background: purple;
}
&#13;
<div class="wrapper">
<img class="image" src="https://pngimg.com/uploads/goat/goat_PNG13151.png">
</div>
&#13;
答案 1 :(得分:1)
.wrapper{
height:150px;
width:150px;
position:relative;
background:red;
margin:5em auto;
}
.image{
width:175%;
height:auto;
position: absolute;
top: -9999px;
bottom: -9999px;
left: -9999px;
right: -9999px;
margin: auto;
}
body{
background:purple;
}
答案 2 :(得分:0)
试试这个:
.image{
width:175%;
height:auto;
position: absolute;
top: -9999px;
bottom: -9999px;
left: -9999px;
right: -9999px;
margin: auto;
}
无论父<img>
div
为中心
答案 3 :(得分:0)
哦,看起来我已经迟到了这个派对,但我打算建议这种技巧 - 使用::after
伪元素绘制你的方形底衬并且实际上不会使图像溢出包装div。
https://codepen.io/hamzatayeb/pen/QMxJvw
<div class="wrapper">
<img class="image" src="http://pngimg.com/uploads/goat/goat_PNG13151.png">
</div>
然后这个CSS -
.wrapper {
width: 262px;
height: 262px;
position: relative;
margin: 5em auto;
}
.wrapper::after {
content: "";
background: red;
position: absolute;
top: 16%; right: 16%; bottom: 16%; left: 16%;
z-index: -1;
}
.image {
padding-top: 25px;
width: 100%;
height: auto;
}
body {
background: purple;
}
答案 4 :(得分:-1)
尝试将此样式仅添加到您的图片
.image{
width:175%;
height:auto;
position:absolute;
top: -18px;
right: -65px;
}