父元素设置绝对定位,子元素如何保持正常流?

父元素设置绝对定位,子元素如何保持正常流?

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,您指示浏览器将子元素视为正常流的一部分,而不是绝对定位的。这样,子元素将不受父元素定位属性的影响。

以上就是父元素设置绝对定位,子元素如何保持正常流?的详细内容,更多请关注其它相关文章!