Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/40.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
Html 在同一DIV中使用float:left和clear:两者是否正确?_Html_Css - Fatal编程技术网

Html 在同一DIV中使用float:left和clear:两者是否正确?

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中测试了它。在所有情况下,它都工作得很好

在单个DIV中浮动和清算是否存在技术错误?例如,
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的基本原理很简单,但理解其根本原理却令人难以置信。