前端CSS之浮动

前端CSS之浮动

由于标准流(div等)不能完全满足我们对布局的需求,所以需要浮动*的对盒子进行排布。
语法:

选择器 { float:属性值;}

属性值 描述
none 元素不浮动(默认值)
left 元素向左浮动
right 元素向右浮动

浮动特性:

  1. 浮动的盒子不会再保留原来的位置,会被标准流占有。就好比排队,前面的人走了不排队了那么我们就可以去他的位置上。

  2. 如果多个盒子都设置了浮动,则它们会按照属性值在一行内显示并且顶端对齐排列。(如果某个盒子高度比其他盒子高度高,那么该盒子的上边缘与其他盒子上边缘对齐)
    前端CSS之浮动

  3. 浮动的元素是贴靠在一起的(不会有缝隙),如果父级宽度装不下这些浮动的盒子,多出的盒子会另起一行对齐。

  4. 浮动元素会具有行内块元素特性(如果行内元素有了浮动属性,则不需要转换块级/行内块元素就可以直接给height和weight)。

  5. 如果块级盒子没有设置宽度,默认宽度和父级一样宽,但是添加浮动后,它的大小根据内容来决定。

注意:

浮动元素经常和标准流的父级搭配使用,也就是说我们可以把元素放到大盒子里,再对大盒子里的元素添加浮动,如下图:
前端CSS之浮动
为了约束浮动元素位置,我们网页布局一般采取的策略是:

  • 先用标准流的父元素排列上下位置,之后内部子元素采取浮动排列左右位置。符合网页布局第一准则。(父元素管上下,子元素管左右)
    前端CSS之浮动