如何使用CSS-Position复现指定布局且不修改原有HTML代码
你需要了解的核心知识点和注意事项
- 元素选择部分:不需要修改HTML,直接使用CSS结构伪类选择器就能单独选中每一个div元素,所有div都是body的直接子元素且按顺序排列,用
div:nth-of-type(n)即可,n替换为1到10的数字,就能分别对应选中序号1到最后包含p标签的10个div。 - 定位逻辑校正:
- 绝对定位
position: absolute的元素,偏移参考是「最近的设置了非static定位的父级元素」,你现在的代码把div的定位设为relative、body设为absolute是逻辑相反的,如果你要让所有div相对于页面/body定位,应该给body设置position: relative,给所有div设置position: absolute。 - 选到单个div后,使用
top/left/right/bottom属性设置偏移值,就能把元素放到你需要的坐标位置。
- 绝对定位
- 特殊元素处理:最后一个div里的p标签如果需要在div内调整位置,可以直接基于父div的relative定位,给p设置
position: absolute做内部偏移即可,不需要修改HTML结构。
内容的提问来源于stack exchange,提问作者user16700763
相关产品推荐
相关产品推荐

