当前位置: 首页 > 面试题库 >

使弹性项目采用内容宽度,而不是父容器的宽度

赵景曜
2023-03-14
问题内容

我有一个容器<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>

问题答案:

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

不需要display: inline-flex

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

align-self属性的作用与之相同align-items,除了align-self适用于 flex项align- items适用于 flex容器

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

由于您的容器为flex-direction: column,因此交叉轴为水平,并且align-items:stretch正在最大程度地扩展子元素的宽度。

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



 类似资料:
  • 我有一个容器 ,其中 。它有一个子 。 怎样才能让孩子显得“内联”呢? 具体地说,我如何使孩子的宽度由它的内容决定,而不是扩展到父母的宽度? 我所尝试的: 我将子项设置为,但它仍然占用了整个宽度。我也尝试了所有其他显示属性,但都没有效果。 示例: null null http://codepen.io/donpinkus/pen/ygrxry 共2个答案 匿名用户 在容器上使用或在弹性项上使用。

  • 问题内容: 在下面的示例中,我有一个具有以下样式的按钮… 但是它会自动缩放到100%,而不是内容的宽度。您可以设置一个明确的宽度,但是那样一来您的文本就不能自然地换行。 如何制作一个内部文本以flexbox居中但不能增长到适合容器大小的按钮? 问题答案: 而不是使用容器。 这会将容器从块级(占用其父级的整个宽度)切换到内联级(占用其内容的宽度)。 这上浆行为类似于对比。

  • 将父flex容器宽度调整为子flex容器内容宽度时出现问题。 使用Bulma,我有以下HTML结构 但它最终应用于所有子flex容器,如您所见: http://codepen.io/anon/pen/mWqRxW 如何解决这个问题,并使父flex容器适合子flex容器的宽度(在本例中是输入的宽度)?

  • 如果我调整窗口的大小小于最小宽度flex项目的总数(此处为653px),则会出现一个滚动条,但flexbox采用当前窗口的大小,并且flex项目没有红色背景,我想知道如何在不键入以下特定值的情况下为flexbox容器设置最小宽度: 我不希望收缩flex项目,但一个css的方式来获得: flexbox.min(flex_items_min_width) https://codepen.io/papa

  • 我正在尝试使用flex Box创建滑块。我的想法是创建一个父容器,并使滑块水平溢出。然后将父元素设置为无溢出,这样溢出的子元素就被隐藏了,我们可以使用滚动条查看其他子元素。 下图显示了我现在得到的输出。我试图使三个div具有父容器的全宽。这样,当红色div占据父div的空间时,只有红色div可见。要查看其余div,必须向右滚动。 我尝试过将宽度设置为100%,但似乎不起作用。

  • 更新:如果我必须使用flexbox,我认为没有简单的解决方案。我将使用“flex shrink:0”并使用媒体查询来调整设计。无论如何,谢谢你的帮助。 我有一个水平列表(显示: flex)与多个元素。当我缩小窗口大小时,列表元素开始缩小。不幸的是,元素的宽度几乎保持不变。锂元素占据了太多的空间。我希望li-元件的大小适合内容。如果我把"flex-收缩: 0"添加到li-元素中,宽度是正确的,但是我