Html IE8中的溢出X

Html IE8中的溢出X,html,css,internet-explorer,Html,Css,Internet Explorer,我在页面的body标签上放置了overflow-x:hidden,这样超出窗口的任何内容都将不可见。没有滚动条显示,但是,我仍然可以向左/向右滚动查看内容(有点违背overflow-x的目的) -ms-overflow-x:也不能解决问题 有一个包装器900px 包装器内部有一个div: width:100%; padding-right:300px; position:absolute; left:200px; 我希望内部div挂在窗口的右侧,而不会导致它滚动(并在其左侧留下200px的空间

我在页面的body标签上放置了overflow-x:hidden,这样超出窗口的任何内容都将不可见。没有滚动条显示,但是,我仍然可以向左/向右滚动查看内容(有点违背overflow-x的目的)

-ms-overflow-x:也不能解决问题

有一个包装器900px

包装器内部有一个div:

width:100%;
padding-right:300px;
position:absolute;
left:200px;
我希望内部div挂在窗口的右侧,而不会导致它滚动(并在其左侧留下200px的空间)


有什么帮助吗?谢谢

由于div的宽度为100%,因此永远不会出现溢出,因为div将始终适合视口的100%(假设您没有更改body标记的大小)

至于填充,填充是在宽度之后添加的,所以你说div是容器(body标签)宽度的100%,填充是右侧额外的300px,当它离开视口时,它将不可见

您可能希望尝试为div指定一个显式的大小宽度,并以这种方式进行实验


查看标记的示例可能也有助于了解您试图实现的目标。

更多的HTML/CSS可能会有用,但考虑到您现在的情况,我的第一个想法是包装器仍然设置为
位置:static
(HTML元素的默认值)

如果将
position:relative
添加到包装器中,它将包含绝对定位的元素,并应将其约束到溢出限制

此外,您可能希望了解
框大小
属性以及W3C框模型的工作原理。简而言之,您的填充增加了元素的宽度,因此它实际上是(100%+300px),这导致了一个比容器大的大小

如果您不想弄乱
框大小
,您还可以将
最大宽度:100%
添加到绝对div中,以强制其不超出容器