当前位置: 首页 > 知识库问答 >
问题:

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

邹麻雀
2023-03-14

共2个答案

匿名用户

在容器上使用align-items:flex-start或在弹性项上使用align-self:flex-start

不需要显示:inline-flex

flex容器的初始设置是align-items:strett。这意味着flex项将扩展到沿着交叉轴覆盖容器的整个长度。

align-self属性与align-items执行相同的操作,只是align-self应用于flex项,而align-items应用于flex容器。

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

因为您的容器是flex-direction:column,所以交叉轴是水平的,align-items:strett尽可能地扩展子元素的宽度。

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

在此处了解更多关于沿交叉轴的挠性对齐的信息:

  • 柔性换行如何与align-self、align-items和align-content一起工作?

在此处了解有关沿主轴线的flex对齐的更多信息:

  • 在CSS Flexbox中,为什么没有“justify-items”和“justify-self”属性?

匿名用户

除了align-self之外,您还可以考虑自动边距,这将完成几乎相同的操作

null

.container {
  background: red;
  height: 200px;
  flex-direction: column;
  padding: 10px;
  display: flex;
}
a {
  margin-right:auto;
  padding: 10px 40px;
  background: pink;
}
<div class="container">
  <a href="#">Test</a>
</div>

共有2个答案

厉高逸
2023-03-14

除了align-self之外,您还可以考虑自动边距,这将完成几乎相同的操作

null

css prettyprint-override">.container {
  background: red;
  height: 200px;
  flex-direction: column;
  padding: 10px;
  display: flex;
}
a {
  margin-right:auto;
  padding: 10px 40px;
  background: pink;
}
<div class="container">
  <a href="#">Test</a>
</div>
宫瀚
2023-03-14

在容器上使用align-items:flex-start或在弹性项上使用align-self:flex-start

不需要显示:inline-flex

flex容器的初始设置是align-items:strett。这意味着flex项将扩展到沿着交叉轴覆盖容器的整个长度。

align-self属性与align-items执行相同的操作,只是align-self应用于flex项,而align-items应用于flex容器。

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

因为您的容器是flex-direction:column,所以交叉轴是水平的,align-items:strett尽可能地扩展子元素的宽度。

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

在此处了解更多关于沿交叉轴的挠性对齐的信息:

  • 柔性换行如何与align-self、align-items和align-content一起工作?

在此处了解有关沿主轴线的flex对齐的更多信息:

  • 在CSS Flexbox中,为什么没有“justify-items”和“justify-self”属性?
 类似资料:
  • 问题内容: 我有一个容器用。它有一个孩子。 我怎样才能使孩子显得“内联”? 具体来说,如何使孩子的宽度取决于其内容,而不扩展到父母的宽度? 我试过的 我将孩子设置为,但仍然占用了整个宽度。我还尝试了所有其他显示属性,但没有任何效果。 例: 问题答案: 使用的容器上,或在柔性的项目。 不需要。 flex容器的初始设置为。这意味着柔性物品将沿横轴扩展以覆盖容器的整个长度。 该属性的作用与之相同,除了适

  • 问题内容: 在下面的示例中,我有一个具有以下样式的按钮… 但是它会自动缩放到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%,但似乎不起作用。

  • 问题内容: 我在CSS的width属性上遇到了一些麻烦。我在div中有一些段落。我想使段落的宽度等于它们的内容,以使它们的绿色背景看起来像文本的标签。相反,我得到的是这些段落继承了div父节点的宽度,该宽度更宽。 问题答案: 默认情况下,标签是元素,这意味着它们占据了parent的100%。 您可以使用以下方法更改其显示属性: 但这使元素并排。 要使每个元素保持独立行,可以使用: (如果您使用fl