CSS - 防止绝对定位元素溢出体

时间:2012-03-29 20:34:47

标签: css overflow positioning css-position

我在页面中有一个使用TOP和LEFT css样式绝对定位的元素。 当它位于左侧或顶部区域的负位置时,没有问题。 但是,当元素放置在大于窗口内部宽度的左侧位置时,将出现滚动条。

有没有办法以某种方式阻止这个元素这样做? 我不能设置溢出:隐藏;到我的身体元素,因为这将破坏我的布局。 例如,像overflow-parent:none;这样的属性会很棒(但不幸的是不存在)

2 个答案:

答案 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)

我认为绝对定位的元素没有占用空间。你的元素中有“清晰”吗?

尝试将元素浮动作为快速检查? (浮动:左);