CSS clearfix不工作
此()正在工作,而此()不工作CSS clearfix不工作,css,clearfix,Css,Clearfix,此()正在工作,而此()不工作 clearfix不应该代替行?“clearfix不应该代替行?” 没有 假设您有一个容器,其中包含多个项目。如果所有这些项目都是浮动的,容器实际上会丢失其高度信息。因此,页边距底部和背景样式显示错误。clearfix通过在容器元素之前和之后添加伪元素+设置display:table解决了这个问题将其拉伸回最大高度 在您的情况下,您必须添加一个clear:both在#child 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改为在同级元素上使用code>——但这仍然不能解决问题,浮动元素会从正常文档流中删除!看看你修改过的例子:谢谢回复!所以父元素的高度必须用溢出或clearfix本身来解释…?@BenRacicot技术上说,你必须创建一个新的,这样它才能“识别”它的浮动子元素,并计算出正确的高度。
#main {
background: lightgreen;
width: 100px;
height: 200px;
}
#one {
float: right;
display: block;
}
#child {
background: red;
width: 100%;
height: 20px;
display:inline-block
}