如何解决显示内联*内容*的属性差异
对于任何具有块和内联变体的显示类型,唯一的区别是,该inline-*
显示类型具有以内联方式放置的框(即,[以内联格式设置的上下文),而另一种具有格式化为块级框的框,这取决于大多数情况。与[块格式化上下文]中的其他块级元素相同的格式约定。块级框和嵌入式级框之间的差异在[其他地方]已深入介绍。
关于盒子如何布置其 内容的所有内容 几乎都是相同的(当然,具体细节由显示类型本身决定);规范中将明确说明任何其他细微差别。据我所知,实际上没有这种差异。
如有疑问,请选择块级显示类型。如果您发现自己是否适合使用内联级别,则答案是否定的。某些情况下,无论如何绝对不能将框格式化为内联级框,例如[绝对定位或浮动],或者将其格式化为弹性项目或网格项目。结果是从inline-*
变体直接转换为通常的块变体。即,inline-
block
被转换为block
,inline-table
对table
,inline-flex
对flex
,和inline-
grid
到grid
。同样,这并不直接影响元素 内容 的格式,就规范而言。
以下是每种显示类型及其内联级别对应项的示例。
在CSS2.1,第9.2.4节描述block
和inline-block
如下:
此值使元素生成一个阻止框。
此值使元素生成一个内联级别的块容器。内联块的内部被格式化为块框,元素本身被格式化为原子内联级别框。
请注意,“块框”是“块级块容器”的简写,并且块容器可以包含块级框。
您会看到这两个值都导致一个元素生成一个 block container box ,其中其内容将始终遵循相同的格式设置规则集,但是 该 block container box本身要么被格式化为块级,要么被内联。水平。
block
和之间还有另一个区别inline-block
:内联块框 始终
建立新的块格式化上下文;封闭箱仅在一定条件下才能这样做。对于具有块级和行内对应项的任何其他显示类型,这并不成立。
17.2描述table
和inline-table
如下:
指定一个元素定义一个块级表:它是一个矩形块,它参与块格式化上下文。
指定一个元素定义一个内联级表:它是一个参与内联格式上下文的矩形块。
该Flexbox的模块描述flex
和inline-flex
如下:
此值使元素生成块级的flex容器框。
此值使元素生成一个内联级别的flex容器框。
而网格布局模块描述grid
和inline-
grid
如下:
此值使元素生成块级网格容器框。
此值使元素生成一个内联级别的网格容器框。
同样,在所有这些情况下,表,Flex容器或网格容器的行为完全相同,无论是块级还是内联级。一个弹性容器总是为其弹性项目建立一个弹性格式上下文,而一个网格容器总是为其栅格项目建立一个网格格式上下文。
解决方法
我注意到人们在1:1的比较中涵盖了某些显示属性的细节,但是在说明差异时还没有涉及很多。可能有人解释各种inline-之间的差异 的东西 显示标签?
对w3schools之类的地方进行更详细的定义会产生奇迹。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。