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

标签 css overflow positioning css-position

我在页面中有一个元素,它使用 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/

相关文章:

html - 无序列表背景颜色在媒体查询中消失

html - CSS:在 body 元素选择器中更改背景图像的不透明度

CSS:元素被下推

html - 带有 % 宽度的绝对位置,在 ul li 内?

css - 无法扩展 Less mixin

css - 如何在 Bootstrap 4 中制作奇数/偶数列?

javascript - 如何使 HTML 元素在悬停时扩展并覆盖同一 flex 容器中的相似相邻元素而不移动它们?

html - 溢出 - 隐藏滚动条并禁用滚动但不剪辑元素

html - 如何防止html表格宽度因单词过大而变大

css - 如何将div放置在彼此旁边和彼此下方?