html - 绝对位置不起作用

标签 html css css-position

我正在尝试将 ID 为“absPos”的 div 放置在相对于其父 div 的绝对位置。但它不起作用,div 位于页面的左上角。

我的代码示例如下

<html>
    <body>
        <div style="padding-left: 50px;">
            <div style="height: 100px">
                Some contents
            <div>

            <div style="height: 80px; padding-left: 20px;">
                <div id="absPos" style="padding: 10px; position: absolute; left: 0px; top: 0px; background-color: red;"></div>
                Some text
            </div>
        </div>
    </body>
</html>

你能帮我解决这个问题吗? 在我的实际情况中,我必须放置背景图像而不是红色背景颜色。

问候

最佳答案

具有绝对定位的元素从它们的 offsetParent 开始定位,最近的祖先是 also positioned .在您的代码中,所有祖先元素都不是“定位”元素,因此 div 从 body 元素偏移,即 offsetParent

解决方案是将 position:relative 应用于父 div,这会强制它成为定位元素和子元素的 offsetParent

<html>
    <body>
        <div style="padding-left: 50px;">
            <div style="height: 100px">
                Some contents
            <div>

            <div style="height: 80px; padding-left: 20px; position: relative;">
                <div id="absPos" style="padding: 10px; position: absolute; left: 0px; top: 0px; background-color: red;"></div>
                Some text
            </div>
        </div>
    </body>
</html>

关于html - 绝对位置不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54896034/

相关文章:

javascript - 如何将颜色应用于 nodeJS .ejs 文件中的 <td> 标记

html - li-tags 在 ul-tag 中垂直对齐,而不是文本本身

javascript - 数据库和UI的CRUD操作最佳实践

javascript - Gulp watch 破坏了生产文件

html - 在 R Markdown 中渲染原始 HTML

css - 如何处理 chrome 和 firefox 中的 css top 值差异?

python - Beautiful Soup find() 未找到 Class 的所有结果

css - 我可以像在 LESS 中那样在标准 CSS 中嵌套类吗

CSS 位置 : sticky behaves like fixed (within w3. css 模态)

ios - "absolute position" ScrollView 内的 View