• IE兼容性 css处理常见


    关于css兼容问题已经是老生常谈的问题了,今天主要是把自己遇到过的一些问题进行总结记录!

    一.常用的css hack:

    !important常常被我们用来识别IE6的hack,但这其实是一个误区,!important其实应该是用来增加权重从而更改样式的,ie6只是在某些情况下会忽略!important!ie6下,同一个大括号里对同一个样式属性定义,其中一个加important 则important标记是被忽略的,例:{background:red!important; background:blue;} ie6下解释为背景色blue,其它浏览器解释为背景色red;如果这同一个样式在不同大括号里定义,其中一个加important 则important发挥正常作用,例:div{background:red!important} div{background:blue},这时所有浏览器统一解释为背景色red。

    IE浏览器各版本 CSS hack 对照表

    hack 写法 实例 IE6(S) IE6(Q) IE7(S) IE7(Q) IE8(S) IE8(Q) IE9(S) IE9(Q) IE10(S) IE10(Q)
    * *color 青色 Y Y Y Y N Y N Y N Y
    + +color 绿色 Y Y Y Y N Y N Y N Y
    - -color 黄色 Y Y N N N N N N N N
    _ _color 蓝色 Y Y N Y N Y N Y N N
    # #color 紫色 Y Y Y Y N Y N Y N Y
    color:red 红色 N N N N Y N Y N Y N
    9 color:red9 粉色 N N N N N N Y N Y N
    !important color:blue !important;color:green; 棕色 N N Y N Y N Y N Y Y

    说明:在标准模式中:

    1. “-″减号是IE6专有的hack

    2. “9″ IE6/IE7/IE8/IE9/IE10都生效

    3. “″ IE8/IE9/IE10都生效,是IE8/9/10的hack

    4. “9″ 只对IE9/IE10生效,是IE9/10的hack

    二.常见的兼容问题:

    1. 最常见也是最基础的,字体大小及标签默认样式差异,可以通过css初始化来解决如:*{margin:0; padding:0; font-size:14px;}

    2. 浮动相关:

      ie6下浮动产生双倍边距。使用display:inline;解决!

      DIV浮动ie6下文本产生3象素的bug。使用margin-right:-3px解决

      浮动导致父级标签无法被内容撑开!使用清楚浮动来解决!

    3. 清除浮动的几种常用方式:

      在使用了浮动的标签最好要清除浮动使用:clear:both;

      或者给父标签确定高度,如:height:200px;

      或者给父标签添加overflow:auto;为了兼容ie6要加上zoom:1;

    4. img下的留白,使用display:block解决

    5. 有的时候在IE6上看见一些奇怪的间隙,可我们高度明明设好了呀。 解决办法:试试在有空隙的DIV上加上"font-size:0px;" 

    6. ul标签在FF中默认是有padding值的,而在IE中只有margin默认有值。FORM标签在IE中,将会自动margin一些边距,而在FF中margin则是0; 解决办法:css中首先都使用这样的样式ul,form{margin:0;padding:0;};

  • 相关阅读:
    java表格的使用 单元格绘制二
    Java表格的简单使用一
    Servlet接口五种方法介绍
    C# 图片识别
    asp.net 使用rabbitmq事例
    Windows下安装使用python的Flask框架
    python中闭包的理解
    sql中遍历字符串
    asp.net mvc easyui tree
    c# Castle Windsor简单例子
  • 原文地址:https://www.cnblogs.com/yudishow/p/4481528.html
Copyright © 2020-2023  润新知