html - 在 CSS 中使绝对子 div 溢出其可滚动的相对根父级
问题描述
我需要让子 div(绿色)脱离其根父级(红色),当我overflow-y:scroll
从根父级 div 中删除属性时它是有效的,但我需要父根是可滚动的。
CSS 代码:
.root-parent{
font-size:20px;
overflow-y:scroll;
background-color:red;
height:100px;
width:100%;
}
.parent{
width:50%;
background-color:blue;
height:50px;
position:relative;
}
.child{
width:50%;
height:200px;
background-color:green;
position:absolute;
}
<div class="root-parent">
<div>1</div>
<div class="parent">
<div class="child">
<div>2</div>
<div>2</div>
</div>
</div>
</div>
这是查看它的外观的链接^^
解决方案
将top
规则添加到child
类并position: relative
从蓝色 div 中删除,然后它将位于红色 div 上方。
绝对位置是指具有相对位置的第一个祖先。
更新
如果您想让红色 div 可滚动并且还溢出绿色 div,则仅使用 CSS 无法完成。你可以用 JS 来做。计算蓝色元素的顶部位置并将其设置为绿色元素的顶部规则
推荐阅读
- javascript - 重定向/替换 URL Safari
- mysql - MySQL:按特定顺序按列分组(不仅仅是 ASC 或 DESC)
- r - 计算两个数据集元素之间的欧几里得距离
- twitter-bootstrap - 打开时如何替换我的菜单图标?
- r - R:循环遍历行对中的data.frame
- javascript - 代码无法正常工作,图像应该出现但不是
- linux - 列中的最小值和最大值
- haskell - “MonadReader (Foo m) m”导致函数依赖的无限类型
- mysql - Sql 在 wordpress 中的行为怪异
- r - 为什么使用并行计算包会使我的 R 代码运行速度变慢