flex-basis: auto 和 flex-basis: content 有什么区别?

use*_*782 8 html css flexbox

我一直在阅读关于css 属性的MDN 文章flex-basis。在那里我没有看到flex-basis: auto. 它解释了关于flex-basis: content. content现在好像已经更换了auto。但如果是这样,那为什么auto还是初始值呢?

Mat*_*att 3

自从最初提出这个问题以来, MDN文章似乎已经更新。简而言之:

  • auto意思是“看看我的宽度或高度属性”。
  • content意思是“看看我的内容”。

当元素具有固定width或时,这确实会导致轻微的差异height。如果您仅在 Firefox 中查看此实时演示,您会注意到这种差异(在撰写本文时,该值content在 Firefox 中受支持)。

另外引用同一篇 MDN 文章中的历史注释:

  • 最初,flex-basis:auto 的意思是“看看我的宽度或高度属性”。
  • 然后,flex-basis:auto 被更改为自动调整大小,并且引入“main-size”作为“查看我的宽度或高度属性”关键字。它已在 bug 1032922 中实现。
  • 然后,该更改在 bug 1093316 中恢复,因此 auto 再次意味着“查看我的宽度或高度属性”;并且引入了新的内容关键字来触发自动调整大小。(bug 1105111 涵盖了添加该关键字)。