【发布时间】:2021-10-25 08:57:06
【问题描述】:
他们在MDN article on justify-content 中提到:
左: 这些物品朝向对齐容器的左边缘彼此齐平地包装。如果属性的轴与内联轴不平行,则此值的行为类似于 start。
对我来说,属性轴的含义是显而易见的。是justify-content 属性的轴吗?还有,什么是内联轴——内联文本的基线?
实际上justify-content: left 和justify-content: start 的行为对我来说完全一样,与写作方向无关。
例子:
.flex-container {
display: flex;
height: 200px;
flex-wrap: wrap;
justify-content: start;
background-color: DodgerBlue;
direction: rtl;
}
.two {
justify-content: left;
}
.flex-container>div {
background-color: #f1f1f1;
width: 100px;
margin: 10px;
text-align: center;
line-height: 75px;
font-size: 30px;
}
.flex-container .desc {
font-size: 16px;
}
<div class="flex-container">
<div>1</div>
<div>2</div>
<div>3</div>
<div class="desc">Justify-content: start</div>
</div>
<div class="flex-container two">
<div>1</div>
<div>2</div>
<div>3</div>
<div class="desc">justify-content: left</div>
</div>
如上所示,在 flexbox 的上下文中,left 和 start 的行为完全相同。所以,
justify-content: left 和 justify-content: start 有什么区别?
【问题讨论】:
-
尝试将 flex 容器中的一个设为 flex 列,您会看到不同之处。
-
@Paulie_D 我在 flex-container div 上添加了
flex-direction: column;,然后我在left和start之间切换了justify-content。我没有发现任何区别。 -
您似乎正在 chrome 上进行测试,请查看 MDN 链接末尾的支持。只有 Firefox 会给你带来不同
-
您还应该了解它与另一个规范 (drafts.csswg.org/css-align-3) 相关,而不仅仅是 flexbox 规范。这是一种在不同情况下对齐的更通用的方式。相关问题:stackoverflow.com/q/62350959/8620333
-
忽略该评论,您的问题是浏览器支持。尝试在 Firefox 上玩价值,你就会明白所有的区别