我在页面中有一个使用TOP和LEFT css样式绝对定位的元素。 当它位于左侧或顶部区域的负位置时,没有问题。 但是,当元素放置在大于窗口内部宽度的左侧位置时,将出现滚动条。
有没有办法以某种方式阻止这个元素这样做?
我不能设置溢出:隐藏;到我的身体元素,因为这将破坏我的布局。
例如,像overflow-parent:none;
这样的属性会很棒(但不幸的是不存在)
答案 0 :(得分:6)
你必须使用具有不同职责的嵌套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>
答案 1 :(得分:-2)
我认为绝对定位的元素没有占用空间。你的元素中有“清晰”吗?
尝试将元素浮动作为快速检查? (浮动:左);