我在页面中有一个元素,它使用 TOP 和 LEFT css 样式进行绝对定位。 当它位于左侧或顶部区域的负位置时,没有问题。 但是,当元素放置在大于窗口内部宽度的左侧位置时,会出现滚动条。
有没有办法以某种方式阻止这个元素这样做?
我无法设置溢出:隐藏;到我的 body 元素,因为那会破坏我的布局。
例如,像 overflow-parent:none;
这样的属性会很棒(但不幸的是不存在)
最佳答案
您必须使用具有不同职责的嵌套 div:
最外层与左右同时设置位置。 right:0
将其设置为右侧。
里面的div是真正的内容div,它设置了宽度。
这是一个演示:http://jsfiddle.net/atnc3/44/
<div class="abs-position">
<div class="abs-content">
Absolut Vodka
</div>
</div>
.abs-position {
position:absolute;
right:0;
left: 300px;
overflow: hidden;
}
.abs-content {
width: 400px;
}
.abs-position {
position:absolute;
right:0;
left: 300px;
overflow: hidden;
/* following: just for demonstration purposes */
padding: 5px;
border: 1px solid gold;
opacity: 0.8;
}
.abs-content {
width: 400px;
/* following: just for demonstration purposes */
padding: 5px;
background: lightgray;
}
.container {
width: 600px;
background: cornflowerblue;
}
<div class="abs-position">
<div class="abs-content">
Absolut Vodka
</div>
</div>
<div class="container">
Other content<br>
Other content<br>
Other content<br>
Other content<br>
</div>
关于CSS - 防止绝对定位元素溢出主体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9933092/