我有一个容器 <div>
,使用了 display: flex
。它有一个子元素 <a>
。
如何使子元素“内联”显示?
具体来说,如何让子元素的宽度由其内容确定,而不是扩展为父元素的宽度?
我尝试过的:
我将子元素设置为display: inline-flex
,但它仍然占据了整个宽度。我也尝试了所有其他的显示属性,但没有任何效果。
示例:
.container {
background: red;
height: 200px;
flex-direction: column;
padding: 10px;
display: flex;
}
a {
display: inline-flex;
padding: 10px 40px;
background: pink;
}
<div class="container">
<a href="#">Test</a>
</div>
inline-flex
来防止弹性盒子占用父元素的宽度有什么问题吗? - Crashalotrow
方向(与问题中的column
不同)。因此,align-*
属性沿交叉轴工作,会在您的布局中垂直移动项目,而不是水平移动。在您的情况下,请使用display: inline-flex
。https://jsfiddle.net/uvrja2e3/ - Michael Benjaminflex-direction: column
。如果容器是row
方向,使用inline-flex
来防止弹性盒子占用父元素的宽度是没有问题的。 - Michael Benjamin