父元素设置绝对定位,子元素如何保持正常流?
scss嵌套式元素继承父元素属性的消除
对于您的问题,“当父元素设置绝对定位时,子元素如何保持正常流”,答案的关键在于解决css样式继承中的隐式污染问题。
css样式继承具有隐式性,这意味着如果某元素未定义特定属性,它将从其父元素继承该属性。在您的scss示例中,子元素.hide未设置position属性,因此它继承了父元素.action的position:absolute值。
要消除这种继承,需要明确为子元素设置position值。您可以将.hide的position设置为static,如下所示:
#action { ... .hide { position: static; width: 40px; height: 100%; background-color: orange; } }
通过指定position:static,您指示浏览器将子元素视为正常流的一部分,而不是绝对定位的。这样,子元素将不受父元素定位属性的影响。
以上就是父元素设置绝对定位,子元素如何保持正常流?的详细内容,更多请关注其它相关文章!