我很困惑。我刚刚发现了这个 CSS 属性:display:box; 我不明白它给 CSS 带来了什么,而 display:block、inline、inline-block 是不可能的。
任何人都可以启发我吗?提前致谢。
我很困惑。我刚刚发现了这个 CSS 属性:display:box; 我不明白它给 CSS 带来了什么,而 display:block、inline、inline-block 是不可能的。
任何人都可以启发我吗?提前致谢。
它是新的 flexbox 模块的一部分。从工作草案:
在 flexbox 布局模型中,flexbox 的子级可以在任何方向上布局,并且可以“伸缩”它们的大小,要么增长以填充未使用的空间,要么缩小以避免溢出父级。孩子的水平和垂直对齐都可以很容易地操作。这些框的嵌套(水平内垂直,或垂直内水平)可用于构建二维布局。
它仍然是一个草案规范,但值得一试,直到它被浏览器完全实现。在许多情况下,它可能会让我们摆脱浮动!
请注意,display:box
它已被弃用,取而代之的是display:flexbox
.
最后但同样重要的是:不要依赖 w3schools!
你可以在这里找到更多信息。
简要总结:
除了 CSS 1 和 2 的传统盒子模型之外,CSS 3 还引入了一种全新的盒子模型。灵活盒子模型决定了盒子在其他盒子中的分布方式以及它们共享可用空间的方式。
这种盒子模型类似于 XUL(Firefox 使用的用户界面语言)使用的模型。其他一些语言使用类似的盒子模型,例如 XAML 或 GladeXML。
通常,如果您想创建适应浏览器窗口大小的流体布局或适应字体大小的弹性布局,灵活的盒子模型正是您所需要的。
...
默认情况下,传统的 CSS 盒子模型根据 HTML 流垂直分布盒子。使用灵活的盒子模型,可以明确指定顺序。你甚至可以逆转它。要切换到灵活盒子模型,请将属性 display 设置为具有子盒子的盒子上的值盒子(或内联盒子)。
查看MDN的文档:
CSS
box-orient
属性指定元素是水平还是垂直布局其内容。例如,XUL
box
和hbox
元素默认水平布局其内容,但 XULvbox
元素默认垂直布局其内容。默认情况下,HTML DOM 元素沿内联轴布置其内容。此 CSS 属性仅适用于 CSS
display
值为box
或的 HTML 元素inline-box
。
显示:框允许:
新的盒子模型可以做一些旧模型在没有额外的javascript计算的情况下做不到的事情,不多