zoukankan      html  css  js  c++  java
  • css float属性详解

    定义和用法

    float 属性定义元素在哪个方向浮动。以往这个属性总应用于图像,使文本围绕在图像周围,不过在 CSS 中,任何元素都可以浮动。浮动元素会生成一个块级框,而不论它本身是何种元素。
    如果浮动非替换元素,则要指定一个明确的宽度;否则,它们会尽可能地窄。
    注释:假如在一行之上只有极少的空间可供浮动元素,那么这个元素会跳至下一行,这个过程会持续到某一行拥有足够的空间为止。

    描述
    left 元素向左浮动
    right 元素向右浮动
    none 默认值。元素不浮动,并会显示在其在文本中出现的位置
    inherit 规定应该从父元素继承 float 属性的值

    下面举几个例子来看看float有哪些妙用

    实例1

    11601

    css代码

    .wrap{
        width: 40%;
        margin:0 auto;
        background: #eee;
    }
    .div1{
    width: 200px;
    height: 100px;
    border:1px solid red;
    }
    .div2{
        width:100px;
        height: 80px;
        border:1px solid green;
    }
    .div3{
        width:80px;
        height: 60px;
        border:1px solid blue;
    }

    这是按照正常文档流来输出的。
    下面我们改一下div1的样式
    css代码

    .div1{
     200px;
    height: 100px;
    float:left;
    border:1px solid red;
    }
    

    再来看下效果
    1602

    div2由于受到div1的浮动影响,div2填充了div1遗留下来的空间,发生重叠,div2在上面。div2的文本则被div1挡住,围绕在div1的周围。

    这是因为浮动是不彻底的脱离文档流,当某个元素使用float时,其他盒子会无视这个元素,但其他盒子内的文本依然会为这个元素让出位置,环绕在周围。而对于使用绝对布局脱离文档流的元素,其他盒子与其他盒子内的文本都会无视它。

    可以通过给受影响的元素设置clear属性来清楚浮动,值可以是left,right,both。

    再来看一个例子

    实例2

    css代码

    .wrap{
     40%;
    margin:0 auto;
    background: #eee;
    }
    .div1{
     200px;
    height: 100px;
    float:left;
    border:1px solid red;
    }
    .div2{
        100px;
        height: 80px;
        float:left;
        border:1px solid green;
    }
    .div3{
        80px;
        height: 60px;
        float:left;
        border:1px solid blue;
    }
    

    效果:
    no-overflow

    当把3个div都设置为左浮动后,由于没有给wrap设置高度,没有未浮动的内容给它撑开,wrap的高度缩为0。

    可以给wrap设置overflow来清楚浮动影响:
    css代码

    .wrap{
     40%;
    margin:0 auto;
    background: #eee;
    overflow: hidden;
    _zoom:1;
    }
    

    效果:
    overflow-hidden

    _zoom:1;属性是IE浏览器的专有属性,Firefox等其它浏览器不支持。它可以设置或检索对象的缩放比例。
    效果:

    实例3

    css代码

    img 
    {
    float:right;
    border:1px dotted black;
    }
    span
    {
    float:left;
    2.5em;
    font:400%/80%  bold algerian,courier;
    }
    

    效果:
    01161

    通过给和设置浮动,让它们显示在父元素

    的左上角和右上角,同时实现文字环绕。

    float还可以用来实现横向两列布局,三列布局,水平菜单等,这里就不列举了。

  • 相关阅读:
    avcodec_decode_video2少帧问题
    什么是I帧,P帧,B帧
    让Ubuntu可以压缩/解压缩RAR文件
    Linux 向文件末尾追加命令
    valgrind: failed to start tool 'memcheck' for platform 'amd64-linux': No such file or directory
    《王者之剑2》性能数据精讲
    Unity加载模块深度解析(纹理篇)
    Unity加载模块深度解析(Shader)
    Unity加载模块深度解析(网格篇)
    Unity将来时:IL2CPP是什么?
  • 原文地址:https://www.cnblogs.com/lightzone/p/9664778.html
Copyright © 2011-2022 走看看