CSS 解决绝对布局没有在父容中定位而是在根节点定位问题
CSS About 507 words现象
根节点设置了flex: column
布局,其中有一个子元素,在子元素中需要使用绝对布局,将子元素的子元素定位在右上角。
但使用了position: absolute
子元素的子元素定位在了根节点的右上角。
原因
父容器未设置定位。
默认的定位为static
,不视作该元素已定位。
absolute
元素会向上查找最近的已定位的祖先元素(即position
为relative
、absolute
、fixed
、sticky
的元素),并以该元素为基准进行定位。
解决
设置子元素的子元素的父容器的定位为相对定位。
<div id="root-view">
<div id="child1"></div>
<div id="child2" style="position: relative;">
<div style="position: absolute;top: 0; right: 0;">
</div>
</div>
<div id="child3"></div>
</div>
说明
父容器的相对定位与根节点的flex
布局不冲突,没有任何关系。
Views: 40 · Posted: 2025-09-03
————        END        ————
Give me a Star, Thanks:)
https://github.com/fendoudebb/LiteNote扫描下方二维码关注公众号和小程序↓↓↓

Loading...