为了账号安全,请及时绑定邮箱和手机立即绑定

使flex项目占用内容宽度,而不是父容器的宽度

使flex项目占用内容宽度,而不是父容器的宽度

不负相思意 2019-09-02 11:11:49
我有一个容器<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>http://codepen.io/donpinkus/pen/YGRxRY
查看完整描述

2 回答

?
netizen

TA贡献1条经验 获得超1个赞

子元素使用单独的 align-self: flex-start 配置可以自适应内容

查看完整回答
1 反对 回复 2021-06-25
?
红糖糍粑

TA贡献1815条经验 获得超6个赞

使用align-items: flex-start的容器上,或align-self: flex-start在柔性的项目。


没必要display: inline-flex。


Flex容器的初始设置是align-items: stretch。这意味着柔性物品将展开以覆盖沿横轴的容器的整个长度。


该align-self物业做同样的事情align-items,除了align-self适用于弯曲的物品,同时align-items适用于柔性容器。


默认情况下,align-self继承值align-items。


由于您的容器是flex-direction: column,横轴是水平的,并且align-items: stretch尽可能地扩展子元素的宽度。


您可以覆盖align-items: flex-start容器(由所有弹性项目继承)或align-self: flex-start项目(仅限于单个项目)的默认值。


查看完整回答
反对 回复 2019-09-02
  • 2 回答
  • 1 关注
  • 834 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信