zoukankan      html  css  js  c++  java
  • H5——浮动及清浮动

    一、float浮动:float:left/right/none/inherit;(inherit从父级继承浮动,对有的浏览器不兼容,一般不用)

      1.块在一排显示

      2.内联元素支持宽高

      3.默认内容撑开宽度

      4.脱离文档流(文档流是文档中可显示对象,在排列时所占用的位置)

    特性:

      1.浮动元素不会覆盖住任何文字或者行内标签,所有的文字或者行内标签会环绕在浮动元素周围

      2.浮动元素会覆盖块标签的背景和边框

      3.一个元素设置浮动属性之后,该元素会朝着设置的方向移动,直到碰到父级或浏览器的边缘,或者前一个浮动元素,就会停止浮动。

      4.浮动元素的层级比正常块元素的层级高

    二、清浮动

      clear:left/right/both/none/inherit;同级的前面的所有元素的某个方向上不能有浮动元素

      clear:both;同级的前面的所有元素的左右两侧均不允许浮动元素。

      方法:1.加高

          问题:扩展性不好

         2.父级浮动

          问题:页面中所有元素都加浮动,margin左右自动失效(floats bad!)

           3.inline-block 清浮动方法

          问题:margin左右自动失效;

           4.空标签清浮动

          问题:IE6最小高度19px;(解决后IE6还有2px偏差)

            5.br清浮动

          问题:不符合工作中:结构、样式、行为,三者分离的要求。

            6.after伪类  清浮动方法(现在主流方法)

          clear:after{content:”“;display:block;clear:both;}(主流浏览器都适合)

          clear{zoom:1;}(适合IE6,IE7     zoom:缩放 a、触发IE下haslayout,使元素根据自身内容计算宽高b、FF不支持)

          例如:

    <!DOCTYPE html>
    <html lang="en">
    <head>
      <meta charset="UTF-8">
      <title>伪元素</title>
      <style type="text/css">
        #div1 {
          font-size: 80px;
        }
        #div1:before {
          /*content: "这是通过css添加的一段文字。";*/
          content: "";
          display: block;
          300px; height: 100px; background: pink;
        }
        #div1:after {
          content: "这是after伪元素添加的内容";
          display: inline-block;
          background: orange;
        }
        /*
          伪元素: :before   :after  (通常被称为伪类)
            伪元素是通过css命令的方式,往页面中添加一个特殊的标记。这个标记默认是以行内标签的特征显示。这个标记可以支持绝大部分的css样式设置。
        */
      </style>
    </head>
    <body>
      <div id="div1">
        这是在页面布局结构中的文字。
      </div>
    </body>
    </html>

         7.overflow:hidden 清浮动方法

          问题:需要配合 宽度或者zoom兼容IE6 IE7;

         overflow:scroll/auto/hidden;

        overflow:hidden;溢出隐藏(裁刀!)

    三、浮动兼容性问题

      1.IE6双边距BUG(IE6下块属性标签浮动,并且有横向margin,横向margin加倍):

        a、IE6 

        b、浮动

        c、横向margin

        d、块属性标签(加_display:inline;)

      2.IE6下 li部分兼容性问题:

        a、左右两列布局,右边右浮动IE6 IE7下折行;(左边元素浮动)

        b、IE6 IE7 li 下元素都浮动在IE6 IE7下li下方会产生4px间隙问题;(加vertical-align:top;)

      3.vertical-align/img问题:

        a、vertical-align垂直对齐方式

          1.加垂直对齐方式的同排元素都要加垂直对齐方式

          2.垂直对齐方式可以解决元素下方间隙问题

        b、图片下方间隙问题

          1.display:block;(改变标签本身特性)

          2.overflow:hidden;(必须知道图片高度)

          3.vertical-align(暂时最完美的方案)

     


  • 相关阅读:
    Eclipse中web项目部署至Tomcat步骤
    解释Eclipse下Tomcat项目部署路径问题(.metadata.pluginsorg.eclipse.wst.server.core mp0wtpwebapps)
    JAVA_HOME环境变量失效的解决办法
    java 程序运行过程 简介
    深入研究Java类加载机制
    SPRING SECURITY JAVA配置:Web Security
    Spring mvc Security安全配置
    FastDateFormat
    Hibernate中Criteria的完整用法
    升级win10,提示(RAM)内存不足2G的解决的方法,亲測可行
  • 原文地址:https://www.cnblogs.com/llz1314/p/5721900.html
Copyright © 2011-2022 走看看