Html 无法使用伪元素清除浮点
我试图用css伪元素清除float,但它不起作用。我做错了什么 HTML:Html 无法使用伪元素清除浮点,html,css,Html,Css,我试图用css伪元素清除float,但它不起作用。我做错了什么 HTML: :元素中的pseudo类之后并不意味着“在该元素的结束标记之后”,它将放在元素中所有内部项之后。因此,您不能使用它进行清晰的修复。尝试使用- #afterfloat { clear: both; } 我可以问一下你想做什么吗?一个大胆的猜测是添加clear:两者都是或清除:左到#afterfloat+1我尝试了同样的方法。我的意思是用伪元素清除float。不起作用。@HamZa我正在尝试重复中显示的解决方案。您
:元素中的pseudo类之后并不意味着“在该元素的结束标记之后”,它将放在元素中所有内部项之后。因此,您不能使用它进行清晰的修复。尝试使用-
#afterfloat {
clear: both;
}
我可以问一下你想做什么吗?一个大胆的猜测是添加clear:两者都是
或清除:左
到#afterfloat
+1我尝试了同样的方法。我的意思是用伪元素清除float。不起作用。@HamZa我正在尝试重复中显示的解决方案。您可以检查此HamZa是否正确-您绝对不需要对此进行clearfix。那么,解决方案是什么?@Dimt似乎是这样的,我不知道。所以我想你必须。。。?或者像Iqbal根据和其他来源所说的那样,我应该能够使用伪元素来清除float,而不需要任何额外的标记或清除后续元素。那么这是无效的陈述吗?@Dimt否。该解决方案适用于另一种情况。如果父元素有float:none;子元素有float:左或右,在这种情况下,父元素不随子元素一起增长。在这种情况下,您可以使用“.clearfix:after”解决方案来增长带有子元素的父元素。:after
是一个伪元素,而不是伪类。也不确定“在元素中的所有内部项之后”是什么意思。单个元素只能为自身生成一个:after
伪元素。
#container{
float:left;
background: grey;
border: 1px solid black;
}
#inner1{
float: left;
width: 100px;
height: 100px;
background: red;
border: 1px solid black;
}
#container:after{
content: ".";
visibility: hidden;
display: block;
height: 0;
clear: both;
}
#afterfloat{
float: left;
width: 100px;
height: 100px;
background: green;
border: 1px solid black;
}
#afterfloat {
clear: both;
}