Html 在同一DIV中使用float:left和clear:两者是否正确?
在单个DIV中浮动和清算是否存在技术错误?例如,Html 在同一DIV中使用float:left和clear:两者是否正确?,html,css,Html,Css,在单个DIV中浮动和清算是否存在技术错误?例如,float:left开始框格式上下文,clear:both结束框格式上下文。将两者放在一个DIV中,似乎可以创建一个自包含的BFC,这与溢出:隐藏的类似 下面是一个简单的例子: .wrapper { width: 50%; float: left; clear: both; } 我在除了Safari之外的所有现代浏览器上都测试过这个,因为我手边没有iPhone。我还在IE8到IE11中测试了它。在所有情况下,它都工作得很好
float:left
开始框格式上下文,clear:both
结束框格式上下文。将两者放在一个DIV
中,似乎可以创建一个自包含的BFC,这与溢出:隐藏的类似
下面是一个简单的例子:
.wrapper {
width: 50%;
float: left;
clear: both;
}
我在除了Safari之外的所有现代浏览器上都测试过这个,因为我手边没有iPhone。我还在IE8到IE11中测试了它。在所有情况下,它都工作得很好。此外,它在上进行了正确验证。但我想知道我是否错过了什么。如果这是正确的,如果它起作用,那么为什么这么多人使用这种方法?也许我遗漏了一些明显的东西?是的,没错。浮动以一种特殊的方式将元素移出流,而清除则将元素推到先前浮动的下方
这并不是clearfix hack的替代品,因为清除的浮点仍然不流动,因此父元素不会增长到包含它(除非它建立块格式上下文)。有关更多信息,请参阅
div{
边框:2件纯蓝;
边缘底部:50px;
}
跨度{
浮动:左;
明确:两者皆有;
背景:黄色;
}
.clearfix::之后{
内容:'';
显示:块;
明确:两者皆有;
}
无clearfix:
浮动
浮动
正文
使用clearfix:
浮动
浮动
正文
是的,它是正确的。浮动以一种特殊的方式将元素移出流,而清除则将元素推到先前浮动的下方
这并不是clearfix hack的替代品,因为清除的浮点仍然不流动,因此父元素不会增长到包含它(除非它建立块格式上下文)。有关更多信息,请参阅
div{
边框:2件纯蓝;
边缘底部:50px;
}
跨度{
浮动:左;
明确:两者皆有;
背景:黄色;
}
.clearfix::之后{
内容:'';
显示:块;
明确:两者皆有;
}
无clearfix:
浮动
浮动
正文
使用clearfix:
浮动
浮动
正文
您可以将“先前浮动”部分加粗。我打赌有些人会认为这真的是一个替代品。我正在剖析你在文章中令人惊讶的有用评论。我计划用今天剩下的时间(可能还有明天的大部分时间)在Dreamweaver中分解你们的例子。在我继续之前,我会完全理解这一点。float和clear的基础知识很简单,但是理解根基础知识却让人难以置信。你可以加粗“先前的float”部分。我打赌有些人会认为这真的是一个替代品。我正在剖析你在文章中令人惊讶的有用评论。我计划用今天剩下的时间(可能还有明天的大部分时间)在Dreamweaver中分解你们的例子。在我继续之前,我会完全理解这一点。float和clear的基本原理很简单,但理解其根本原理却令人难以置信。