Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/41.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
CSS clearfix不工作_Css_Clearfix - Fatal编程技术网

CSS clearfix不工作

CSS clearfix不工作,css,clearfix,Css,Clearfix,此()正在工作,而此()不工作 clearfix不应该代替行?“clearfix不应该代替行?” 没有 假设您有一个容器,其中包含多个项目。如果所有这些项目都是浮动的,容器实际上会丢失其高度信息。因此,页边距底部和背景样式显示错误。clearfix通过在容器元素之前和之后添加伪元素+设置display:table解决了这个问题将其拉伸回最大高度 在您的情况下,您必须添加一个clear:both在#child clearfix不应该代替行 对。clearfix用于避免非语义空标记。但是,要使其

此()正在工作,而此()不工作


clearfix不应该代替行

“clearfix不应该代替行

  • 没有
假设您有一个容器,其中包含多个项目。如果所有这些项目都是浮动的,容器实际上会丢失其高度信息。因此,页边距底部和背景样式显示错误。clearfix通过在容器元素之前和之后添加伪元素+设置
display:table解决了这个问题
将其拉伸回最大高度

在您的情况下,您必须添加一个
clear:both
#child


clearfix不应该代替行

对。clearfix用于避免非语义空标记。但是,要使其工作,需要将其放置在父元素上。()

但是,在您的情况下,它并没有解决同级将忽略浮动元素的问题。这不是clearfix的意图,您只需在您的
#child
同级上添加
clear:right
(或
两个
),即可恢复正常的文档流


在您的例子中,您试图从自身中清除浮动元素(使用属于自身的伪元素)

应在浮动元件之后的元件上清除

其他一些规则也可以做到这一点


显示:内联块
将从浮动元素的任何一侧清除此元素。

-1不正确,clearfix用于删除那些不稳定的元素,但是它不适用于OP的问题!而
显示:内联块
是可能的,但使用它是不可行的,因为有时您需要另一种显示类型,毕竟这就是
clear
的目的。我相信,对于这个示例(我删除了:after并添加了该规则)来说,这很好,特别是对于初学者来说,认识到clear不是处理floting元素的唯一选项是非常有用的。浮动元素的行为在固定、绝对、相对和静态元素中很难理解。这是一个很大的收获,一些线索有助于你自己学习。如果你能解释为什么这样做,那么我可以接受你的观点,否则我会认为这是另一种可能混淆人。内联块,作为溢出:隐藏,作为显示:表格,修改元素的布局。当收到其中一条规则时,将根据浮动元素(如果有)未使用的面积计算面积。这种浮动元素可以站在流程的前面,也可以是子元素。(对不起,我的英语很糟糕)在你的例子中,我使用了内联块,因为你已经给出了100%的宽度:)也许你可以帮我理解这个@正如我试图解释的,clearfix应该可以恢复父母的身高。如果要恢复文档流,只需声明
clear:both——但这仍然不能解决问题,浮动元素会从正常文档流中删除!看看你修改过的例子:谢谢回复!所以父元素的高度必须用溢出或clearfix本身来解释…?@BenRacicot技术上说,你必须创建一个新的,这样它才能“识别”它的浮动子元素,并计算出正确的高度。
#main {
    background: lightgreen;
    width: 100px;
    height: 200px;
}

#one {
    float: right;
    display: block;
}

#child {
    background: red;
    width: 100%;
    height: 20px;
    display:inline-block
}