有没有选项可以防止子元素的绝对定位并且子元素高度大于父元素时超出父元素?我不想通过
overflow: hidden
来隐藏溢出部分,我想强制父元素 div.alert
的高度不低于其子元素。如您所见,我正在使用position:absolute
和transform:tranlateY(-50%)
将的内容置于中部,与内容长度无关。不幸的是,当内容高于父元素的最小高度时,它会超出父元素。
<div class="alert">
<span>
text text text text text text text text text text text text
</span>
</div>
<div class="alert">
<span>
text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text
</span>
</div>
<div class="alert">
<span>
text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text
</span>
</div>
CSS:
body{
background: #000;
}
.alert{
position: relative;
margin: 35px 5px;
background: #4679BD;
color: #fff;
padding: 10px 15px;
min-height: 40px;
}
span{
position: absolute;
top: 50%;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
}
Thanks in advance.