实际上,你可以做到这一点。
这里是一个jsFiddle演示这一点。(使用一个下面代替,它的更好)
它是一种更好的想法的图像上设定的margin-left
和margin-right
到更大的负数,例如-9999%
,与-100%
值时,图像开始为包含元件的div
的变得比div
的宽度的3倍以下宽尽快离开中心位置:
margin-left: -100% + the div's width: 100% + margin-right: -100% = 3x div width
可以检查在这个jsFiddle与前一个之间的行为差异是通过将溢出切换为可见并将结果窗口的大小调整为小于div
的宽度的300%
。
报价@MaxOriola上支持的浏览器的范围(从评论):
我重新测试第二小提琴......在火狐,Chrome,Safari浏览器(最后版本)和资源管理器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://lorempixel.com/400/200" />
</div>
400px wide image
</div>
标记答案,因为它主要涵盖两个提交的答案。无法使用背景方法进行工作,并且没有完成绝对定位。谢谢,不过。 – Nathaniel 2009-09-18 04:20:03
+1,因为第一个解决方案也适用于非图像。这个问题确实指定了图像,但我来到这里期待将一个“div”放在一个太小的容器中。谢谢。 – Johno 2012-06-07 11:07:21
链接似乎破碎发现它在这里http://www.w3schools.com/cssref/pr_background-position.asp现在,解决方案是“背景位置:中心;”谢谢 – John 2015-08-13 08:08:45