CSS三大核心-浮动

html-css07

CSS三大核心-浮动,第1张

1、标准流——标签按照规定好默认方式排列

2、浮动

3、定位

多个块级元素纵向排列找标准流,多个块级元素横向排列找浮动。

float属性用于创建浮动框,将其移动到一边,直到左边或者右边边缘及包含块或另一个浮动框的边缘。

选择器:{ float:属性值}

1、 浮动的元素会脱离标准流(脱标),不再保留原来的位置

2、浮动的元素会一行内显示并且元素顶部对齐

3、浮动的元素会具有行内块元素的特性

1、为了约束浮动元素,一般采取的策略是:先用标准流的父元素排列上下位置,之后内部子元素采取浮动左右位置,符合网页布局第一准则。

2、一个元素浮动了,理论上其余的兄弟元素也要浮动。浮动的盒子只会影响当前浮动盒子后面的标准流,不会影响前面的标准流

父级盒子不给高度,自己盒子会撑开父级盒子高度,但是加上浮动就会无效。

额外标签法也称为隔墙法,是W3C推荐的做法。会在浮动元素的末尾添加一个空的标签。例如:<div style="chear:both"></div>。新的标签必须是块级元素。

选择器:{ clear :属性值}

实际工作中几乎只用clear :both 。清除浮动的策略是闭合浮动,只让浮动在父级盒子内部影响。

可以给父级添加overflow属性,将其属性值设置为hidden、auto或scroll。这个属性还用于外边距合并。   缺点就是无法显示溢出部分。

:after伪元素法相当于额外标签法的升级版,也是在浮动元素尾部添加空的块级元素,用法是给父元素添加属性。以下为固定格式。

类似于:after 伪元素法,只不过前后都会插入一个盒子,更符合闭合的概念。

浮动什么意思呢,比如,默认的,我们知道,div是占满一行的,现在我们想把两个div显示在一行上,那怎么办呢

<div style="width:100px">11111</div><div style="width:150px">2222</div>

这样我们就设置了两个div,一个宽度100px,一个宽150px,可预览一下,我们的div仍在两行上,那么怎么把它改到一行上呢,这儿就需要float,设置第一个div的float为left

<div style="width:100pxfloat:left">11111</div><div style="width:150px">2222</div>

再预览,就可以看到,它们到一行上了。

clear是什么意思呢,clear是清除的意思,它有三个值,left,right,both

很好理解,如果设置了clear:left,它就不怕它的左边有float,同理clear:right,clear:both,是左右都不让有float

举个例子,还是上面的

我们设置第二个div的clear:left,也就是不让它左边有float

<div style="width:100pxfloat:left">11111</div><div style="width:150pxclear:left">2222</div>

我们预览一下,就可以看到,尽管第一个div已经float:left了,这两个div仍然在两行上,就是由于第二个div不让它左边有float

因为css的定义是后面的可以覆盖前面的,明白了吧

float是浮动,翻译成中文也是浮动意思。进入对应css手册中float手册了解float基本信息。

float的作用:通过css定义float(浮动)让div样式层块,向左或向右(靠)浮动。

float语法 :

Float常跟属性值left、right、none

Float:none 不使用浮动

Float:left 靠左浮动

Float:right 靠右浮动

Float浮动用于设置对象靠左与靠右浮动样式,可以实现我们所需要的让DIV、SPAN等标签居左居右浮动。

简单使用语法

div{float:left} /* css注释:设置div对象浮动靠左(left) */

div{float:right} /* css注释:设置div对象浮动靠右(right) */