Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 块内部内联行为_Html_Css_Block_Inline - Fatal编程技术网

Html 块内部内联行为

Html 块内部内联行为,html,css,block,inline,Html,Css,Block,Inline,下面的HTML/CSS结果让我感到奇怪和意外,我真的在寻找这种解析方式背后的逻辑 假设: 导航{ 列表样式类型无 } 李海军{ 显示:内联; } /*使李的堆栈水平*/ 李娜{ 显示:块; 填充物:5px; } /*显示为块以添加填充*/ 这是因为环绕块级元素的内联元素被子块拆分为块级元素。这里引用了w3规范: 当内联框包含流入块级别框时,内联框及其在同一行框中的内联祖先将围绕块级别框和任何块级别同级(仅由可折叠空格和/或流出元素连续或分隔)断开,将内联框拆分为两个框(即使任一侧为空),块级别

下面的HTML/CSS结果让我感到奇怪和意外,我真的在寻找这种解析方式背后的逻辑

假设:

导航{ 列表样式类型无 } 李海军{ 显示:内联; } /*使李的堆栈水平*/ 李娜{ 显示:块; 填充物:5px; } /*显示为块以添加填充*/
这是因为环绕块级元素的内联元素被子块拆分为块级元素。这里引用了w3规范:

当内联框包含流入块级别框时,内联框及其在同一行框中的内联祖先将围绕块级别框和任何块级别同级(仅由可折叠空格和/或流出元素连续或分隔)断开,将内联框拆分为两个框(即使任一侧为空),块级别框的每一侧各一个。打断之前和打断之后的行框都包含在匿名块框中,块级框成为这些匿名框的同级

如果您查看该链接,您将看到他们的匿名框图,该框将内联文本包装在一个块中,该块后面紧跟着一个块级元素,即a。为了进一步解释,在上面的引文中,基本上他们说内联框父对象被子对象拆分为块级框,并显示:block

这有意义吗

为了使其正常工作,可以将li设置为display:inline块

为了您的方便,我复制了您的代码并做了以下更改

导航{ 列表样式类型无 } 李海军{ 显示:内联块; } /*使李的堆栈水平*/ 李娜{ 显示:块; 填充物:5px; } /*显示为块以添加填充*/
这是因为环绕块级元素的内联元素被子块拆分为块级元素。这里引用了w3规范:

当内联框包含流入块级别框时,内联框及其在同一行框中的内联祖先将围绕块级别框和任何块级别同级(仅由可折叠空格和/或流出元素连续或分隔)断开,将内联框拆分为两个框(即使任一侧为空),块级别框的每一侧各一个。打断之前和打断之后的行框都包含在匿名块框中,块级框成为这些匿名框的同级

如果您查看该链接,您将看到他们的匿名框图,该框将内联文本包装在一个块中,该块后面紧跟着一个块级元素,即a。为了进一步解释,在上面的引文中,基本上他们说内联框父对象被子对象拆分为块级框,并显示:block

这有意义吗

为了使其正常工作,可以将li设置为display:inline块

为了您的方便,我复制了您的代码并做了以下更改

导航{ 列表样式类型无 } 李海军{ 显示:内联块; } /*使李的堆栈水平*/ 李娜{ 显示:块; 填充物:5px; } /*显示为块以添加填充*/
我看到家和我们肩并肩。它们没有垂直堆叠。这是因为@Robbert类型。您可以通过将inline更改为inline block来修复它。但至于为什么内联还不够,我不知道我看到了家和我们在一起。它们没有垂直堆叠。这是因为@Robbert类型。您可以通过将inline更改为inline block来修复它。但至于为什么内联还不够,我不知道。谢谢,现在我很清楚,这确实是HTML的创建者想要的。但我选择显示的原因是:内联;是浏览器兼容性。我只是在谷歌上搜索了display:inline块,发现它甚至可以追溯到IE8。我现在不太愿意使用内联块谢谢,我现在很清楚,这确实是HTML创建者的意图。但我选择显示的原因是:内联;是浏览器兼容性。我只是在谷歌上搜索了display:inline块,发现它甚至可以追溯到IE8。我现在不太愿意使用内联块了