我有当前的html结构
<release_cover>
<overlay_controllers> Green Div </overlay_controllers>
<img src="blu.div" />
</release_cover>
img标签是蓝色容器。 洋红色是release_cover标签。
我将overlay_controller标签(绿色)设置为20%的高度,确切位于容器的80%时出现问题。
到目前为止我做了:
release_cover{
width: 100%;
height: 100%;
position: relative;
}
release_cover img{
width: 100%;
height: 100%;
}
overlay_controllers{
min-height: 20%;
margin-top: 80%;
position: absolute;
width: 100%;
}
不幸的是,绿色div的高度取决于内部的内容,而不是固定的20%。
建议?
(目前收到的建议示例:https://jsfiddle.net/82Lb0nhe/)
答案 0 :(得分:1)
您可以使用顶部而不是 margin-top 属性来定位overlay_controllers:
release_cover {
width: 100%;
height: 100%;
position: relative;
display: block;
}
release_cover img {
width: 100%;
height: 100%;
}
overlay_controllers {
position: absolute;
top: 80%;
height: 20%;
width: 100%;
overflow: hidden;
}
答案 1 :(得分:1)
使用absolute
位置和top
的组合,同时也不允许height
大于300px
,它将正确计算:
.container {
width: 300px;
height: 300px;
}
overlay_controllers {
z-index: 2;
bottom: 0%;
position: absolute;
margin-top:;
height: 20%;
width: 100%;
background-color: #fc0;
}
release_cover {
top: 0px;
width: 100%;
position: relative;
display: block;
overflow: hidden;
margin: 0px;
padding: 0px;
max-height: 300px;
}
release_cover img {
padding: 0;
margin: 0px;
z-index: 1;
width: 100%;
height: 100%;
}