鉴于这种简单的 struct :
<div id="parent">
<div id="child">Lorem ipsum</div>
</div>
使用此CSS:
#parent {
width: 200px;
height: 200px;
padding: 20px;
overflow-x: scroll;
}
#child {
width: 500px;
}
Live demo: http://jsfiddle.net/523me/5/
请注意,父对象有20px
个填充,子对象水平溢出(因为它更宽).如果将父对象一直向右滚动,您将看到子对象接触到父对象的右边缘.
因此,父级应该有一个正确的填充,但它被忽略了.似乎当子元素有固定的宽度时,父母的正确填充不适用.(这是标准规定的吗?我很想知道.如果你发现了什么,请告诉我!)
在这种情况下,有没有办法强制应用正确的填充,即必须从流中移除任何元素(通过浮动或定位)?
屏幕截图1-忽略右填充.这就是当前所有浏览器的行为方式.
屏幕截图2-适用右填充.这就是我想要实现的.(顺便说一句,屏幕截图来自IE7,它是唯一不忽略右填充的浏览器.)