我的布局类似于:

<div>
    <table>
    </table>
</div>

我希望div只扩展到表的宽度。


当前回答

可以对父元素使用display:flex

#parentElement {
   display: flex;
   flex-direction: column;
   align-items: flex-start;
 }

其他回答

只需设置宽度和高度以适合内容。这很简单。

div {

    width: fit-content;
    height: fit-content;
    padding: 10px;

}

我正在添加填充:10px;。如果省略了它,div元素将完全与表保持一致,看起来有点笨拙。填充将在元素的边界与其内容之间创建给定的空间。但这是你的愿望,不是强制性的。

<div class="parentDiv" style="display:inline-block">
    // HTML elements
</div>

这将使父div宽度与最大元素宽度相同。

这似乎是一个13年前的问题。

.div{
display:inline-block;
}

or

.div{
display:inline-flex;
}

现在可以工作几天,没有任何兼容性问题。

只需将样式放入CSS文件

div { 
    width: fit-content; 
}

仅仅

<div style="display: inline;">
    <table>
    </table>
</div>