码迷,mamicode.com
首页 > 其他好文 > 详细

H5——浮动及清浮动

时间:2016-07-30 23:55:49      阅读:618      评论:0      收藏:0      [点我收藏+]

标签:

一、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;
      width: 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(暂时最完美的方案)

 


H5——浮动及清浮动

标签:

原文地址:http://www.cnblogs.com/llz1314/p/5721900.html

(0)
(4)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!