absolute子元素高度如何随父元素滚动内容改变?
子元素absolute高度随父元素滚动内容改变问题
在网页设计中,有时我们需要让absolute子元素的高度与父元素中可滚动内容的高度一致。根据提供的html和css代码,父元素包含多个黑色块作为可滚动内容,而absolute子元素被设置为固定高度。
解决方案
要解决此问题,我们需要创建一个新的相对定位层来包含滚动内容,并让absolute子元素相对于该层而不是直接相对于父元素定位。因此,我们可以将 overflow:auto 属性移动到新创建的相对层上。或者,我们可以单独给内容区域在包裹一个 div,然后给这个 div 设置 position: relative。
示例代码
使用新创建的相对层:
<div class="box"> <div class="b2"> <div style="overflow: auto"> <div style="..."></div> <div style="..."></div> <div style="..."></div> <div style="..."></div> <div style="position: absolute; width: 100%; height: 100%; top: 0; background-color:aqua;opacity: 0.5"></div> </div> </div> </div>
知识点
- 元素相对于最近的非 static 定位祖先元素的偏移来确定位置。
- 确定位置的同时也可以获取这个祖先元素的宽/高等属性。
以上就是absolute子元素高度如何随父元素滚动内容改变?的详细内容,更多请关注其它相关文章!