美文网首页
第九章 浮动

第九章 浮动

作者: 扶光_ | 来源:发表于2020-11-26 17:58 被阅读0次

一,浮动样式的使用

  • 以前浮动是用来图文布局的文字环绕效果如下图所示:


    例1
  • 而现在多用于块级的页面布局 如下图: 例2

二,浮动的特点

写法:float:left / right; 左浮动/右浮动

1.会使元素脱离文档流

下面来演示一下浮动的作用

<div class="a">第一个盒子</div>
<div class="b">第二个盒子</div>   首先我们先设置三个盒子并加一些样式,以便更好看出浮动的特点
<div class="c">第三个盒子</div>         结果如下图:
例3

下面我们将第一个盒子添加float:left;看看是什么样子


将第一个盒子添加浮动
  • 这就是浮动的第一个特点:会使元素半脱离文档流
    下面可能会有人说什么是文档流呢?

就好比如我们上课的教学楼有一楼和二楼,文档流相当于在一楼,我们将元素浮动起来,浮动的元素位置就是在一楼和二楼中间的位置


2.遇到父级或相邻的元素有设置浮动样式的,会停止浮动

还是上面的例子。我们将三个盒子都添加浮动样式会变成什么样子呢?看下图。


例5

很明显这三个盒子会并排在一行,

  • 这就是浮动的第二个特点:遇到父级或相邻的元素有设置浮动样式的,会停止浮动

3.使行内元素具有宽高,支持margin但不支持居中

大家都知道span标签是行内元素,他是不支持宽高和margin的,但如果我们给他设置一个浮动,我们来看span元素是否支持了宽高和margin.


  span{
            float: left;
            margin-top: 100px;
            width: 100px;
            height: 100px;
            background-color: pink;
        }
<span >
我是行内元素
</span>
例6
注意:不支持居中
  • 这就是浮动的第三个特点:使行内元素具有宽高,支持margin但不支持居中

4.宽高由内容撑开

这里小编就不一一演示了,可以自己做实验证明一下


5.文字会感受到浮动元素的位置

将第一个盒子设置浮动,第二个盒子加文字,如图所示:

例7

文字会贴在有浮动的盒子旁.

  • 这就是浮动的第五个特点:文字会感受到浮动元素的位置

三,浮动的缺点

父级的浮动高度塌陷

计算不到元素的大小,因为它漂浮到了半空中
解决方法(三条)

  • 1.给父级设置高度
  • 在父级使用overflow:hidden; 浏览器会触发bfc,单独又隔离的容器.会生成一个虚拟边框来计算浮动元素的宽高,
  • 使用幽灵元素生成空间
    before 元素前面生成一个空间 伪元素
    after
    ::after{
    content:" ";
    display:block;
    clear:both;
    }

四,清除浮动

clear:float 左边不能有浮动 只针对左浮动生效
clear:right 右边不能有浮动 只针对右浮动
clear:both; 一般使用这个


五,float 和display:inline-block的区别

第一个区别:

display 会有空格
float没有空格,不会影响布局

第二个区别:

display:inline-block不能选择方向
float可以选择方向

第三个区别:

基线问题
如果用display:inline-block,然后希望将某一个元素向下移动,整体都会下移
下面来演示一下这个问题,我们首先来设置三个盒子,然后将第二个盒子下移50px;

例8
解决方案:

vertical-align:top 要将所有的行内块设置一样的基线就可以解决这样的问题

设置了vertical-align
  • 而浮动就不需要考虑这样的问题
    扩展一个小bug

bug:浮动元素卡住了怎么办

高度问题::好好检查浮动的高度!!!


相关文章

  • 第九章 浮动

    一,浮动样式的使用 以前浮动是用来图文布局的文字环绕效果如下图所示:例1 而现在多用于块级的页面布局 如下图:例2...

  • 浮动、清除浮动、闭合浮动

    1、浮动元素有什么特征?对父容器、其他浮动元素、普通元素、文字分别有什么影响? 浮动元素会脱离正常的文档流,不占据...

  • 浮动与清除浮动

    原文地址:浮动与清除浮动 浮动 浮动的概念 浮动元素会脱离文档流并向左/向右浮动,直到碰到父元素或者另一个浮动元素...

  • 浮动、清除浮动

    一、浮动属性有哪些属性值 float • left 元素向左浮动• right ...

  • 浮动,清除浮动

    一、浮动元素有什么特征?对其他浮动元素、普通元素、文字分别有什么影响? 浮动元素会浮动到左或右依次排列,直到空间不...

  • 布局浮动的问题

    浮动的问题 什么是浮动?浮动(float)的副作用清除浮动两种清除浮动的办法如下:

  • 清除浮动

    清除浮动和闭合浮动 区别:清除浮动虽然排版正确,但是,浮动元素的父元素的高度为空; 闭合浮动:闭合浮动后元素高度正...

  • sdsdsdsd

    sdsdsddssdds浮动幅度东方饭店浮动幅度sdsdsddssdds浮动幅度东方饭店浮动幅度sdsdsddss...

  • 前端开发入门到实战:css 浮动布局,清除浮动

    浮动的特性: (1)浮动元素有左浮动(float:left)和右浮动(float:right)两种 (2)浮动的元...

  • 前端开发入门到实战:css 浮动布局,清除浮动

    浮动的特性: (1)浮动元素有左浮动(float:left)和右浮动(float:right)两种 (2)浮动的元...

网友评论

      本文标题:第九章 浮动

      本文链接:https://www.haomeiwen.com/subject/kebaiktx.html