zoukankan      html  css  js  c++  java
  • 关于ie6出现的问题的原因归结

    关于ie6出现的问题主要可以归结为以下几种情况把。

    当然还存在各种原因,bug的情况也还有各种各样,我只是小结一下我自己经常遇到,比较有代表性的问题。会持续的更新。
    1。浏览器本身存在的缺陷
    比如:

    1》左浮动的元素,加了左补白(margin-left),就会出现双倍边距的问题。(我们可以尽量去避免这些问题,在不影响结构和其他样式的情况下,可以用左边距(padding-left),虽然两者在语意上是有区别的。)

    2》绝对定位元素的1像素间距bug,当绝对定位元素的父元素高或宽为奇数时,bottom和right会产生错误,唯一的解决办法就是给父元素定义明确的高宽值,但对于液态布局没有完美的解决方法。(我的解决方法是针对ie6写了一个:_bottom:-1px;)

    2。与标准的不同(触发布局的方式和其他浏览器不同)
    比如:

    浮动的清除(关闭)

    1.Overflow : hidden;

    2.设置高宽

    3.clear:both;

    4.Zoom:1;

    5.还有专门的浮动清除的类:

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

    .clearfix { *zoom:1; }.

    这是因为在ie中触发布局的方式和其他浏览器不同。所以有时候在代码中加zoom:1;是非常有用的。

    3。不支持一些元素或者方法(这些元素或者方法出现在ie6出现之后)

    比如:

    1.透明读属性opacity。在ie6,7,8中都是无效的,我们可以用filter来代替:opacity: 0.5; filter:alpha(opacity=50);但是考虑到性能问题,也可以直接不考虑低级版本浏览器。

    2.如果是png图片透明问题的话可以加一个滤镜的插件(可以到网上搜一下具体用法):

    <!--[if IE 6]>

    <script type="text/javascript" src="/js/DD_belatedPNG-min.js"></script>

    <script>

    DD_belatedPNG.fix("#foot_logo,img,background");

    </script>

    <![endif]-->

    3. css3中的一些样式效果,比如圆角,阴影之类的都是用渐进增强,平稳退化的原则。

    4. JSON.stringify方法ie6.7是不支持的。如果要考虑ie6.7需要用其他方法。

  • 相关阅读:
    关于接口和接口中多肽问题的实例
    java 简单的单例 实现
    关于动态数组的问题
    一百以内的杨辉三角
    将阿拉伯数字转为中文大写读法
    sql server 2005 优化方法
    Sql Server 2005 数据库 优秀辅助工具推荐
    SSIS高级内容 系列一
    锁定
    SQL Server 2005查询处理结构用户模式计划(UMS)
  • 原文地址:https://www.cnblogs.com/snowinmay/p/3362954.html
Copyright © 2011-2022 走看看