在CSS 2.1规范中;
“此属性指示元素的框(Es)的哪一边可能与先前的浮动框不相邻。”clear“属性不考虑浮动在元素内部或其他块格式上下文中。”
正如我们所知道的,属性float
可以建立一个新的块格式上下文,这意味着除了浮动元素的子元素之外,没有任何元素在同一个块格式上下文中。是的,对吧?
发布于 2011-06-02 10:56:15
请允许我参考与此相关的另一个问题(对于图像!):CSS块格式上下文是如何工作的?
在前两个图像中,所有元素--左列、右列、h3
、p
和2个x浮动框--都位于相同的块格式上下文中,根元素负责将它们全部定位,因此在调用间隙时计算所有浮动。
在第三张图片中,“主要内容”或中间列被生成一个新的块格式上下文。因此,现在只有左、中、右列在“根”块格式上下文中。而中间列h3
、p
和两个紫色浮动框的实际内容现在在不同的一个中,尽管它们都在同一个新的框中。
就像您在中间列周围画了一个边界,并将其隔离开来,这样它内部的浮点数现在可以忽略它外面的浮点数(如果清除了),并且它里面的元素可以100%的宽度,而不计算侧列浮标所使用的空间。
是的,它不同于块元素和内联元素。上下文是显示所有元素的矩形,上下文中的元素要么是块的,要么是普通的内联元素,块级元素和块框 (以及内联和匿名的.)在视觉格式模型(非上下文)下进行描述。
https://stackoverflow.com/questions/6211916
复制相似问题