【问题标题】:Overflow-X in IE8IE8 中的溢出-X
【发布时间】:2012-12-04 15:10:29
【问题描述】:
我在页面的主体标签上放置了overflow-x:hidden,这样任何超出窗口的内容都将不可见。没有滚动条出现,但是,我仍然可以向左/向右滚动来查看内容(有点违背了溢出-x的目的)。
-ms-overflow-x: 也不能解决问题。
有一个900px的包装器;
在wrapper里面,里面有一个div:
width:100%;
padding-right:300px;
position:absolute;
left:200px;
我希望内部 div 悬在窗口的右侧而不使其滚动(并在其左侧留出 200 像素的空间)。
有什么帮助吗?谢谢!
【问题讨论】:
标签:
html
css
internet-explorer
【解决方案1】:
由于 div 的宽度是 100%,所以永远不会溢出,因为 div 将始终适合 100% 的视口(假设您没有更改 body 标签的大小)。
至于内边距,内边距是在宽度之后添加的,所以你说 div 是其容器(body 标签)宽度的 100%,内边距是在右边额外的 300px,这将是不可见的,因为它在视口之外。
您可能想尝试为 div 指定一个明确的尺寸宽度并以这种方式进行试验。
查看您的标记示例也可能会有所帮助,以了解您想要实现的目标。
【解决方案2】:
更多的 HTML/CSS 会很有用,但考虑到你现在拥有的东西,我的第一个想法是你的包装器仍然设置为 position: static(HTML 元素的默认值)。
如果您将position: relative 添加到您的包装器中,它将在其中包含绝对定位的元素,并且应该将其限制为溢出限制。
此外,您可能还想了解box-sizing 属性以及W3C 盒模型的工作原理。简而言之,您的 padding 增加了元素的宽度,因此它实际上是 (100% + 300px),这导致尺寸大于容器。
如果你不想惹box-sizing,你也可以将max-width: 100%添加到你的绝对div中,强制它不要从容器中长出来。