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还可以用来实现横向两列布局,三列布局,水平菜单等,这里就不列举了。

  • 相关阅读:
    3.09_面向对象(包、修饰符和内部类)
    3.08_面向对象(多态的概述及其代码体现)
    3.07_面向对象(继承)
    3.06_面向对象(代码块的概述和分类)
    3.05_面向对象(java文档说明书的制作过程)
    3.04_面向对象基础((main方法的格式详细解释)
    3.03_面向对象(static关键字及内存图)
    3.02面向对象(创建一个对象的步骤)
    3.01_面向对象基础(构造方法)
    2.02_Java语言基础(循环结构概述)
  • 原文地址:https://www.cnblogs.com/lightzone/p/9664778.html
Copyright © 2011-2022 走看看