• css 清除浮动


    虽然我几乎不用 float 布局,但是还是要了解的,工作了很有可能就会用到,所以,今天又看了一遍 “张鑫旭” 写得关于 float 布局的文章,记录一下清除浮动的几种方法,以后随时在此补充。

    IE下清除浮动比较简单,使元素 haslayout就可以。如宽度值,高度值,绝对定位,zoom,浮动本身,都可以让元素haslayout。首选 zoom:1,不会干扰任何样式。

    注意:这几种方法是为了解决“浮动带来的,父元素高度塌陷问题”。

    1. 投机取巧法

    就是直接一个<div style="clear:both;"></div>放到当作最后一个子标签放到父标签那儿,此方法屡试不爽,兼容性强,使用方便,是初学时使用的上佳之选。但是我从来不用,因为我看到的是个巨大的浪费,浪费了一个标签,而且只能使用一次,我个人是无法容忍的,所以这个方法不推荐。而且有时候一不留神中间多了个空格会产生一段空白高度的。
     

    2. overflow + zoom方法

    .fix{overflow:hidden; zoom:1;}

    此方法优点在于代码简洁,涵盖所有浏览器,可谓不错的选择啊。不过也是有问题的,就是这个overflow:hidden;是个小炸蛋,要是里面的元素要是想来个margin负值定位或是负的绝对定位,岂不是直接被裁掉了,所以此方法是有不小的局限性的。我一般不用这个方法,只是有时候顺便去除浮动时用用。

    3. after + zoom方法

    先来简单讲讲after,所谓after,就是指标签的最后一个子元素的后面。于是呢,我们可以用CSS代码生成一个具有clear属性的元素,其中的关键样式就是content了。或许您从网上看到的content里面的内容是”.”一个点,我了很多次,貌似随便写什么东西都没有问题,比如content:'clear both';没问题,或是content:'张鑫旭'也是ok的。于是有:
    .fix{zoom:1;}
    .fix:after{display:block; content:'clear'; clear:both; line-height:0; visibility:hidden;}

    这里的line-height:0写成height:0也是可以的。此方法可以说是综合起来最好的方法了,我都是用这个样式清除浮动的,不会影响任何其他样式,通用性强,覆盖面广,我很推荐哦。

    另外,JavaScript 下添加 float 样式的方法有点不同:

    IE浏览器:

    obj.style.styleFloat = "left";

    其他浏览器:

    obj.style.cssFloat = "left";


    资源: http://www.zhangxinxu.com/wordpress/?p=594

  • 相关阅读:
    Mysql优化
    RabbitMQ教程
    手把手Centos7 安装jenkins详细教程
    FreeMarker学习系列之一
    Vue学习之Vue模拟后台数据
    vuejs学习之新的components组件挂载
    vuejs学习之项目结构解读
    VueJS学习之Vue-cli项目模板
    菜鸟手把手学Shiro之shiro授权流程
    js基石之---es7的decorator修饰器
  • 原文地址:https://www.cnblogs.com/xiaochechang/p/5834208.html
Copyright © 2020-2023  润新知