【发布时间】:2017-07-25 21:00:47
【问题描述】:
瘦子:有没有办法让图像上的最大高度服从不是其祖先的固定高度直接父母?
我知道max-height 需要一个固定的高度来计算,所以这不是重复的问题,询问为什么 max-height 不能神奇地工作。
我有一个元素 (.rightbox),它的高度为 100%,并且绝对位于自动高度容器内。该元素符合预期的高度。
然后该元素有一个最大高度为 100% 的子元素。这个元素也符合预期的高度,因为.rightbox 父级有一个设定的高度(% + 绝对定位)
但是现在...我在 that 容器中有一个图像...它不符合最大高度。我认为拥有一个具有可计算高度的祖先将允许该元素符合最大高度。
最大宽度有效,我相信它使用相同的祖先来计算宽度。
在.rightbox 上设置像素高度无效。
删除 .rightbox 和 img 之间的 div 会使 img 符合所需的最大高度。
*{
box-sizing:border-box;
margin:0;
padding:0;
}
.item{
width: 100%;
position:relative;
background:#0FF;
}
.rightbox::after{
content:"";
display:inline-block;
height:100%;
width:0;
vertical-align:middle;
}
.rightbox>div{
display:inline-block;
vertical-align:middle;
}
.rightbox{
position:absolute;
height:100%;
width:50%;
top:0;
right:0;
}
.rightbox>div,
.rightbox img{
max-height:100%;
max-width:100%;
}
.rightbox img{
opacity:0.7;
}
<div class="item">
<div>
<p>
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
Some text to make this bigger.
</p>
</div>
<div class="rightbox">
<div>
<img src="http://via.placeholder.com/550x900" />
</div>
</div>
</div>
【问题讨论】: