Html 在何处应用clearfix类
因此,我有一个问题,就是最后一段显然没有清除并滑入Html 在何处应用clearfix类,html,css,clearfix,Html,Css,Clearfix,因此,我有一个问题,就是最后一段显然没有清除并滑入h1和nav的中间。但当我把一个div与一个明确的:两个财产之前的一段,它似乎工作 请耐心听我说 我使用紫色背景来表示我从nettuts中学到的图像替换技术 clearfix部分是一个名为“group”的类,CSS位于底部 如果我移除显示:块fromh1>a布局中断,因此接下来的问题是,我应该浮动哪些元素以及应该在哪里应用clearfix 试试: p{ clear:both; } 它应该对你有用,这取决于你所追求的结果。试试: 它应该对
h1
和nav
的中间。但当我把一个div与一个明确的:两个财产之前的一段,它似乎工作
请耐心听我说
- 我使用紫色背景来表示我从nettuts中学到的图像替换技术
- clearfix部分是一个名为“group”的类,CSS位于底部
- 如果我移除
from显示:块
布局中断,因此接下来的问题是,我应该浮动哪些元素以及应该在哪里应用clearfixh1>a
p{
clear:both;
}
它应该对你有用,这取决于你所追求的结果。试试:
它应该对您有效,这取决于您所追求的结果。您看到的问题是因为清算元素位于错误的位置 考虑一下你的CSS:
h1 {
margin: 0;
float: left;
background: red;
text-indent: -9999px;
border: 1px dashed cyan;
}
nav {
height: 44px;
margin: 0;
float: right;
background: black;
border: 1px dashed cyan;
}
.group:after {
content:"x";
display:table;
clear:both;
background-color: cyan;
}
将h1
向左浮动,将nav
向右浮动,然后将p
块与文本一起浮动(不浮动)
p
内容如预期那样围绕两个浮动元素,除非如前所述将clear:all
规则添加到p
清算元素必须出现在DOM中nav
元素之后
在本例中,您将.group
应用于nav
,这将生成显示在ul
块之后的内容,该块是nav
块的子块
问题变得更明显的是,您将nav
高度设置为auto
,并添加一些边框和颜色以显示各个块的边缘
请参见演示:
问题如下:
我添加了一个
x
,以在生成的内容中标记清算元素的位置,它出现在nav
块中。您看到的问题是因为清算元素位于错误的位置
考虑一下你的CSS:
h1 {
margin: 0;
float: left;
background: red;
text-indent: -9999px;
border: 1px dashed cyan;
}
nav {
height: 44px;
margin: 0;
float: right;
background: black;
border: 1px dashed cyan;
}
.group:after {
content:"x";
display:table;
clear:both;
background-color: cyan;
}
将h1
向左浮动,将nav
向右浮动,然后将p
块与文本一起浮动(不浮动)
p
内容如预期那样围绕两个浮动元素,除非如前所述将clear:all
规则添加到p
清算元素必须出现在DOM中nav
元素之后
在本例中,您将.group
应用于nav
,这将生成显示在ul
块之后的内容,该块是nav
块的子块
问题变得更明显的是,您将nav
高度设置为auto
,并添加一些边框和颜色以显示各个块的边缘
请参见演示:
问题如下:
我添加了一个
x
来标记生成内容中出现在nav
块中的清算元素的位置。是否将p
作为标题的一部分?还是p
的上边缘应该在链接或nav
组的下方?@MarcAudet是的,很抱歉我错过了。p
仍在标题中。基本上,我在nav
之后还有一些其他元素,我只是用一个p
元素来替换它们,以简化代码,同时仍然显示问题。很难理解您想要什么,你能展示你想要的图片吗?@C-Link基本上我想要的是让段落位于2个浮动元素下面。就像我应用了clear:both代码>到段落,但是我尝试在不清除它的情况下实现该结果,而是使用clearfix技术。是否p
是标题的一部分?还是p
的上边缘应该在链接或nav
组的下方?@MarcAudet是的,很抱歉我错过了。p
仍在标题中。基本上,我在nav
之后还有一些其他元素,我只是用一个p
元素来替换它们,以简化代码,同时仍然显示问题。很难理解您想要什么,你能展示你想要的图片吗?@C-Link基本上我想要的是让段落位于2个浮动元素下面。就像我应用了clear:both代码>到段落中,但相反,我尝试在不清除它的情况下实现该结果,而是使用clearfix技术。是的,这与添加div和应用clear类似:两者都是,我想知道的是为什么clearfix不起作用。clearfix技术不应该通过应用clearfix类而不是在每个浮动元素之后清除所有元素,从而避免我们在每个浮动元素之后清除元素吗?@kentz clearfix允许元素在其自身之后清除。通常在所有子对象都处于浮动状态时使用,因为这会将它们从正常流中移除。在这种情况下甚至不需要它,因为它将包含最后一个p
标记,因为它不是浮动的,并且位于所有其他浮动元素的下方。@thgaskell是的。由于我浮动了nav
,我认为对其应用clearfix会导致段落出现在它下面,就像我使用了clear:both代码>在段落上,但它似乎没有效果。对不起,我实际上认为clearfix应用于标题。清除:这两个实际上都应用于.group
元素后面的伪元素。您的nav
中没有任何浮动元素,因此它什么也不做。但要明确的是,clearfix使您的元素包含通常可以弹出的浮动元素