首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >是否有交叉轴对应的“挠性增长”属性(或“挠性”),它只影响主轴?

是否有交叉轴对应的“挠性增长”属性(或“挠性”),它只影响主轴?
EN

Stack Overflow用户
提问于 2017-09-26 03:50:13
回答 2查看 10.6K关注 0票数 22

在Flexbox中有“主轴”和“交叉轴”的概念。一般来说,在浏览器上,“主轴”应该是水平的,大概是因为台式机和笔记本电脑的屏幕通常是横向的,而在“反应本地人”中,“主轴”通常是垂直的,因为它主要是针对手机的,而手机通常是纵向的。无论哪个是“主轴”,另一个就是所谓的“交叉轴”。

看起来,在Flexbox中,许多影响主轴的属性都有一个不同名称的对应属性,它会影响横轴。

有一个名为flex-grow的属性,另一个名为flex的属性可以同时完成flex-grow和其他一些属性的工作。

我不清楚的是,这个flex-grow是具有对应属性的属性之一,还是一个例外。flex属性也是如此。

我问这个问题的一个原因是,我经常读到,在试图正确布局时,可能需要将元素及其所有计数器/父元素的flex设置为1。但是,在你的布局中哪些地方需要达到相同的目标,但在横轴上呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-09-26 05:48:49

flex-grow (和简写flex)属性总是影响主轴,没有对应的,并设置了如何水平地分配自由空间,用于挠性行方向,以及如何垂直分配挠性列方向。

相比较而言,例如,justify-content属性影响主轴,有一个对应的align-items,它影响交叉轴,其中两者都设置flex项的对齐方式。

但是,这里可能会令人困惑的是,基于流的方向,它们会水平地或垂直地影响挠性项。

注意,主轴和横轴与屏幕是否宽或高无关。

它与流动方向有关,因此对于默认的弯曲行方向,主轴是水平的,交叉轴是垂直的,对于弯曲的圆柱方向,主轴是垂直的,交叉轴是水平的。

Flexbox完整指南是一篇非常好的文章,它更深入地解释了这一点。

票数 16
EN

Stack Overflow用户

发布于 2022-02-01 01:24:40

如果您希望修改交叉轴中的flex项(默认情况下是垂直的,或者如果flex容器具有flex-direction: column;集,则是水平的),那么请考虑使用align-self属性。若要使挠性项在横轴方向上“增长”,则该项上的align-self: stretch;应该可以工作。这只有在容器已经将align-items设置为类似center的情况下才有用。

请注意,这类似于交叉轴上的“flex”,但绝对不是一回事。有关详细信息,请参阅完整指南:https://css-tricks.com/snippets/css/a-guide-to-flexbox/

代码语言:javascript
运行
复制
.container {
  display: flex;
  background-color: tan;
  align-items: center;
}

.small-stretched-item {
  background-color: green;
  align-self: stretch;
}

.tall-item {
  height: 200px;
  background-color: orange;
 }
 
 .small-unstretched-item {
   background-color: pink;
 }
代码语言:javascript
运行
复制
<div class="container">
  <span class="small-stretched-item">Small, stretched item</span>
  <div class="tall-item">Tall item</div>
  <span class="small-unstretched-item">Small, unstretched item</span>
</div>

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46417543

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档