【发布时间】:2020-04-13 08:43:19
【问题描述】:
我正在尝试制作一个div,它可以拉伸以适应其内容,达到某个最大宽度,然后内容应该换行。
使用绝对定位的div 可以正常工作——除非其父级的宽度受到限制。当其父级的宽度有限时,绝对定位的div 就像其max-width 是其父级的width。
我基本上希望绝对定位的div“假装”它的父级具有 100% 的宽度,并给我一个很好的“拉伸以适应”行为,同时尊重我设置的 max-width .
在下面的示例中,我希望第一个 .abs 工作,即使它是“瘦” div 的子级。
.parent {
position: relative;
background: #EEE;
width: 100px;
}
.abs {
position: absolute;
max-width: 200px;
/* width: auto, but ignore parent! */
}
.parent2 {
margin-top: 150px;
background: rgba(0,128,0,.1);
width: 100px;
}
<div class="parent">
<div>
Doesn't work.
</div>
<div class="abs">
This wraps after 100px, because it's parent has 100px width.
</div>
</div>
<div class="parent2">
<div>
Does work.
</div>
<div class="abs">
This wraps at 200px, because it's parent is as wide as the viewport, so it honors the max-width of 200px.
</div>
</div>
【问题讨论】:
标签: css width css-position