我的布局类似于:
<div>
<table>
</table>
</div>
我希望div只扩展到表的宽度。
我的布局类似于:
<div>
<table>
</table>
</div>
我希望div只扩展到表的宽度。
当前回答
您可以选择高度:100%和宽度。这使得div不大于其内容。
其他回答
display: -moz-inline-stack;
display: inline-block;
zoom: 1;
*display: inline;
Foo Hack–对内联块样式的跨浏览器支持(2007-11-19)。
可以对父元素使用display:flex
#parentElement {
display: flex;
flex-direction: column;
align-items: flex-start;
}
我认为使用
display: inline-block;
但我不确定浏览器的兼容性。
另一种解决方案是将您的div包装在另一个div中(如果您想保持块行为):
HTML格式:
<div>
<div class="yourdiv">
content
</div>
</div>
CSS:
.yourdiv
{
display: inline;
}
<div class="parentDiv" style="display:inline-block">
// HTML elements
</div>
这将使父div宽度与最大元素宽度相同。
display:inline块为元素添加额外的边距。
我建议这样做:
#element {
display: table; /* IE8+ and all other modern browsers */
}
奖金:你现在只需添加margin:0auto,就可以轻松地将这个新奇的#元素居中。