实际上,您可以通过将图像上的margin-left
and设置为.margin-right
-100%
这是一个jsFiddle演示。(改用下面那个更好)
margin-left
将图像上的and设置margin-right
为更大的负数是一个更好的主意,例如-9999%
,与-100%
值一样,一旦div
' 的包含元素变得小于 3 倍的宽度,图像就会开始偏离中心的宽度div
:
margin-left: -100% + the div's width: 100% + margin-right: -100% = 3x div width
您可以通过将溢出切换为可见并将结果窗口的大小调整为jsFiddle小于.300%
div
在支持的浏览器范围内引用@MaxOriola(来自评论):
我已经在 Firefox、Chrome、Safari(最新版本)和 Explorer 8、9、10 中重新测试了第二把小提琴。在所有这些中都可以正常工作。
注意:图像元素必须显示inline
或inline-block
水平居中text-align: center
(在包装元素上)。
// ALL of the JS below is for demonstration purposes only
$(document).ready(function() {
$('a').click(function() {
$('body > div').toggleClass('overflow');
});
})
img {
margin: 0 -9999% 0 -9999%;
}
/* ALL of the CSS below is for demonstration purposes only */
body {
text-align: center;
font-family: verdana;
font-size: 10pt;
line-height: 20pt;
}
body>div {
margin: 0px auto;
width: 40%;
background-color: lightblue;
overflow: hidden;
}
img {
vertical-align: top;
}
.overflow {
overflow: visible;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>40% wide div [<a href="#">toggle overflow</a>]
<div>
<img src="http://via.placeholder.com/400x200" />
</div>
400px wide image
</div>