CSS浮动

CSS浮动

目标

  • 能够说出为什么需要浮动
  • 能够说出浮动的排列特性
  • 能够说出3种最常见的布局方式
  • 能够说出为什么需要清除浮动
  • 能够写出至少2种清除浮动的方法
  • 能够完成学成在线的页面布局

浮动(float)

标准流(普通流/文档流)

所谓的标准流:就是标签按照规定好默认方式排列.

  1. 块级元素会独占一行,从上向下顺序排列。
    常用元素:div、hr、p、h1~h6、ul、ol、dl、form、table
  2. 行内元素会按照顺序,从左到右顺序排列,碰到父元素边缘则自动换行。
    常用元素: span、a、i、em等

标准流是基本的网页布局模式

注意∶实际开发中,一个页面基本都包含了这三种布局方式(标准、浮动、定位)。后面移动端学习新的布局方式)

为什么需要浮动

浮动最典型的应用:可以让多个块级元素一行内排列显示。

网页布局第一准则:多个块级元素纵向排列找标准流,多个块级元素横向排列找浮动。

什么是浮动

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

选择器 {
    float:属性值;
}
属性
none 不设置浮动
left 向左移动,直到边缘触及包含块或另一个浮动框的边缘。
right 向右移动,直到边缘触及包含块或另一个浮动框的边缘。

浮动特性

  1. 浮动元素会脱离标准流(脱标)
    • 脱离标准流的控制,移动到指定位置,俗称脱标
    • 浮动的盒子原来的位置不会保留
  2. 浮动的元素会一行内显示并且元素顶部对齐
    • 如果多个盒子都设置了浮动,则它们会按照属性值一行内显示并且顶端对齐排列。

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

  3. 浮动的元素会具有行内块元素的特性
    • 任何元素都可以浮动。不管原先是什么模式的元素,添加浮动之后具有行内块元素相似的特性.
    • 如果块级盒子没有设置宽度,默认宽度和父级一样宽,但是添加浮动后,它的大小根据内容来决定

浮动元素经常和标准流父级搭配使用

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

常见网页布局

浮动布局注意点

  1. 浮动和标准流的父盒子搭配。
    先用标准流的父元素排列上下位置,之后内部子元素采取浮动排列左右位置
  2. 一个元素浮动了,理论上其余的兄弟元素也要浮动。

理想状态,父盒子自动被子盒子撑开

清除浮动

为什么清除浮动

由于父级盒子很多情况下,不方便给高度,但是子盒子浮动又不占有位置,最后父级盒子高度为0时,就会影响下面的标准流盒子。

语法

选择器{ clear:属性值;}
选择器{
    clear:both;
}

清除浮动的方法

  1. 额外标签法也称为隔墙法,是W3C推荐的做法。
    浮动标签的末尾,添加一个新标签
  2. 父级添加overflow属性
    父元素添加overflow:hidden;
  3. 父级添加after伪元素
    .clearfix:after {
    content : "";
    display: block;
        height: 0;
    clear: both;
    visibility: hidden;
    }
    .clearfix { /* IE6、7专有 */
    zoom: 1;
    }
  4. 父级添加双伪元素
    .clearfix:before,.clearfix:after {
        content : "";
        display:table;
    }
    .clearfix:after {
        clear :both;
    }
    .clearfix {
    *zoom: 1;
    }
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
学习笔记

CSS的盒子模型

2022-6-6 21:40:00

学习笔记

CSS 定位

2022-6-13 22:13:00

搜索
蜀ICP备2020035005号-1