CSS基础之浮动

         网页布局的本质——用CSS来摆放盒子,把盒子摆放到相应的位置。CSS提供了三种传统的布局方式:普通流(标准流)、浮动、定位。      

         此处对浮动进行一个小小的总结,至于定位在学习完定位的时候在进行总结。所谓的标准流就是标签按照规定好的默认方式进行排序。

        1、块级元素会独占一行,从上向下顺序排列

常用元素:div、hr、p、h1~h6、ul、ol、dl、form、table

        2、行内元素会按照顺序进行排序,从左到右顺序排列,碰到父元素的边缘会自动换行

常用元素:span、a、i、em等

        标准流是基本的布局方式,在实际开发中,一个页面的设计基本上包含了三种布局方式。


       补充:块元素、行内元素和行内块元素

        块元素的特点:

  • 独占一行
  • 高度、宽度、外边距以及内边距局可以控制
  • 高度默认是容器(父级宽度)的100%
  • 是一个容器及盒子,里面可以放行内或其他块级元素

        注意:

  • 文字类的元素内不能使用块级元素
  • <p>标签用于存放文字,不能放块级元素,特别是div 标签
  • h1~h6同理,不能放块级元素

        行内元素的特点:

  • 相邻行内元素一行上可以显示多个
  • 高度和快读直接设置是无效的
  • 默认宽度是本身内容的宽度
  • 行内元素只能容纳文本或其他行内元素

        注意

  • 链接里面不能再放链接
  • 特殊情况链接里面可以放块级元素,但是给<a>转换一个块级模式最安全。

        行内块元素的特点:【<img/、< cinput/、<td>,它们同时具有块元素和行内元素的特点】

  • 和相邻行内元素(行内块)在行上,但是他们之间会有空白缝。一行可以显示多个(行内元素特点)
  • 默认宽度就是它本身内容的病度(行内元素特点)
  • 高度,行高、外边距以及内边距都可以控制(块级元素特点).

        显示模式转换

  • 转换为块元素; display block
  • 转换为行内元素: display. inline;
  • 转换为行内块: display; inline-bock

浮动(float)

        float属性用于创建浮动窗,将其移至一边,直到左边缘或右边缘触及包含快或另一个浮动框的边缘。浮动最典型的应用:可以让多个块级元素一行内显示(行内块元素)

       浮动三特性:


        1、脱标

          设置浮动的元素会脱离标准流,设置了浮动的元素会漂浮在普通流的上面,不占位置。

                                                         

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

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

     

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

  • 任何元素都可以逻动。不筐原先是什么模式的元素,添加动之后具有行内块元素相似的特性
  • 如果块级盒子没有设置度,默认宽度和父级一样宽,但是添加浮动后,它的大小根据内容来决
  • 浮动的盒子中间是没有的,是紧挨着起的
  • 行内元素同理

浮动的注意点


        1、浮动和标准流的父盒子搭配使用。

        先用标准流的父元素排列上下位置,之后内部子元素采取浮动排列左右位置

        2、一个元素浮动了,理论上其他兄弟元素也要浮动。

      一个盒子里面有多个子盒子,如果其中一个盒子浮动了, 那么其他兄弟也应该浮动,以防止引起问题。

        浮动的盒子只会影响浮动只会影响浮动盒子后面的标准流,不会影响前面的标准流。


清除浮动 

        1、为什么需要清除浮动呢?

  • 清除浮动的本质是清除浮动元素造成的影响
  • 如果父盒子本身有高度,则不需要清除浮动
  • 清除浮动之后,父级就会根据浮动的子盒子自动检则高度,父级有了高度,就不会影响向下面的标准流了

        2、语法

     选择器{clear:属性值;}

        实际工作中,几乎只用clear:both;【清除浮动的策略是:闭合浮动】

        3、清除浮动的方法

     (1)额外标签发也称为隔墙法。

        此方法会在浮动元素末尾加一个空的标签。例如:<div style= clear. both ></div>

       优点:通俗易懂,书写方便

      缺点:添加许多没有意义的标签,结构化比较差

     (2)添加overflow属性,将其属性设置为hidden、auto或scroll【注意是给父元素添加代码

       优点:代码简洁

       缺点:无法显示溢出的部分

     (3):after伪元素【注意是给父元素添加】

       语法:

                                   

优点:没有增加标签,结构更简单

缺点:照顾低版本浏览器

        (4)父级双伪元素【注意给父元素添加

        元素:

                                   

优点:代码更简洁

缺点:照顾低版本浏览器

发布了137 篇原创文章 · 获赞 28 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/weixin_43267344/article/details/105305812
今日推荐