欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

css使元素脱离文档流 浮动

程序员文章站 2024-01-27 21:15:40
...

块元素在文档流中默认垂直排列。
要我们设置块元素水平排序,我们可以设置块元素为行内块元素或者设置块元素脱离文档流

float使块元素脱离文档流(浮动)

float
w3school上面这么解释
css使元素脱离文档流 浮动
语法:
float:值
可能的值:

left	元素脱离文档流向左浮动。
right	元素脱离文档流向右浮动。
none	默认值。元素不浮动,并会显示在其在文本中出现的位置。
inherit	规定应该从父元素继承 float 属性的值。

这是正常情况下块元素在文档流中的情况:
css使元素脱离文档流 浮动
当使div2脱离文档流:
css使元素脱离文档流 浮动
这里设置div2脱离文档流向右浮动,当他脱离文档流后他原来占的位置被后面的块元素占了,所以会影响页面布局


css使元素脱离文档流 浮动
当设置了浮动,那么这个元素会尽力向左上或者右上方浮动,直到遇到父元素的边框或者其他的浮动元素,不会浮出父元素,当他脱离文档流后他原来占的位置被后面的块元素占了,而且会跟别的元素重叠

当浮动元素碰到其他的浮动元素也会停止浮动,而且,如果在文档流中,元素上面有其他块元素,因为块元素独占一行,那么当此元素浮动的时候,他如果碰到他们的边界也过不去
css使元素脱离文档流 浮动
但是如果元素下面是块元素,那么当此元素浮动后,他下面的块元素会跑上来占着他的位置和他重叠就跟上面的例子一样

当多个浮动元素在同一行而且因为改变页面宽度而导致他们放不下的时候,他们就会变到不同行
这是正常情况下
css使元素脱离文档流 浮动
当改变了页面宽度:
css使元素脱离文档流 浮动


浮动元素不会浮动得超过他上面的兄弟元素
css使元素脱离文档流 浮动
这里,黄色的右边空间大于50px但是因为红色的太大进不去,但其实绿色的可以进去,但是他没有进去,这就是他不会超过他上面的兄弟元素

当元素设置了浮动以后,会完全脱离文档流,当块元素脱离了文档流而且不设置宽高后,就会变成宽高由内容决定

使文本围绕在图片四周

虽说上块元素浮动,下面块元素会上来可能会相互覆盖,但是,下面的块元素中的文字不会被覆盖
css使元素脱离文档流 浮动
类似于这样,我们可以用这个特性来设置文字围绕图片

内联元素脱离文档流

当内联元素脱离文档流后就会边得可以设置高了
所有类型元素脱离文档流后都会成一种类型的元素,特性一样

清除浮动对其他元素的影响

因为某个元素设置浮动之后,他下面的兄弟元素会占有他原来的位置,从而会改变页面布局,clear属性可以用来清除这种影响,使浮动元素的兄弟元素不会占有浮动元素的位置

即元素清除了某个浮动元素的影响后,这个元素就会回到浮动元素不浮动的时候这个元素应该处的位置
clear属性:

语法:
clear:值

可能的值

left	在左侧不允许浮动元素。
right	在右侧不允许浮动元素。
both	清除对元素影响最大的浮动影响
none	默认值。允许浮动元素出现在两侧。
inherit	规定应该从父元素继承 clear 属性的值。

即元素前面的兄弟元素向哪边浮动,我们这个元素就需要清除哪面的浮动。
css使元素脱离文档流 浮动