zoukankan      html  css  js  c++  java
  • CSS float

    定义和用法

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

    借用CSS浮动float详解的观点,float两个特性

    • 特性一:包裹性
      一旦让该block元素浮动起来,立刻会像inline元素一样产生包裹性,宽度会跟随内容自适应。(这也是通常float元素需要手动指定width的原因)
    • 特性二:高度欺骗
      下面的demo,上边框红色,下边框蓝色

    Demo-清除浮动-高度欺骗

    我这里额外备注一个特性就是 脱离文档流

    这个额外说一个图片文字环绕的问题,大家经常看到一张图片,然后文字环绕,那么文字和图片的边距是通过图片来设置的,你设置段落是完全没有作用的,至于为什么,

    demo-浮动-margin

    那是因为图片是潜在p里面的

    浮动元素可能引起的问题

    1. 父元素的高度无法被撑开,影响与父级元素同级的元素
    2. 与浮动元素同级的非浮动元素会跟随其后
    3. 若非第一个元素浮动,则该元素之前的元素也需要浮动,否则会影响页面的显示结构

    因为上面我们就会出现一些列清除浮动的方法,我们先看下面一个demo,也是我们最为常见清除浮动的方法之一

    Demo-清除浮动

    最常见的

    .clearfix:after {content:"."; display:block; height:0; visibility:hidden; clear:both; }
    .clearfix { zoom:1; }
    

    升级版1,零宽度空格

    .clearfix:after {content:"200B"; display:block; height:0; clear:both; }
    .clearfix { zoom:1; }.
    

    升级版本2,原文:A new micro clearfix hack

    .cf:before,.cf:after {
        content:"";
        display:table;
    }
    .cf:after { clear:both; }
    .cf { zoom:1; }
    

    CSS浮动float详解
    那些年我们一起清除过的浮动
    CSS浮动,你不知道的事
    CSS float浮动的深入研究、详解及拓展
    清除浮动最好的两种方式
    CSS清除浮动_清除float浮动

  • 相关阅读:
    jdbc基础
    JavaScrip练习
    EL标签
    javaBean和mvc思想
    jsp
    Session
    Cookie
    ServletConfig
    c++、opencv、泊松融合
    目标检测、Iou、nms、soft_nms、
  • 原文地址:https://www.cnblogs.com/cloud-/p/7507162.html
Copyright © 2011-2022 走看看