由于各浏览器的不同,会存在一些兼容问题,特别是兼容IE6/7/8

下面简单介绍了一些解决方法,更多问题可以访问 W3help.org来查看。

可以通过js获取浏览器版本

document.body.innerHTML=navigator.userAgent

---
一些css兼容性问题
----

1、reset技术     如:

*{
        margin:0;
        padding:0;
    }   
      //过于粗暴,不建议使用

2.CSS优先级:通过权重值

a.!important优先级最高  a=1 b,c,d=0
 
    b.!imporant>id>伪类、class>元素、伪元素

id:b=1 a,c,d=0
        伪类、class:c=1 a,b,d=0
        元素、伪元素:a,b,c=0 d=1;
        *为0

c.权重值越高优先级越高

3.CSS  Hack技术  (打补丁、不能滥用),主要针对浏览器解析不同,不认识的属性会忽略它,利用它可以解决部分兼容问题。

1.IE6:属性前面加“_”。(只有IE6认识)
    2.IE7:属性值后面加“*,+,>,<”。(“*,+,>,<”  IE6、IE7都认识)。
    3.IE8:属性值后面加“*\0”。(IE8认识\0和\9)。

4.IE6中浮动第一个出现双倍margin。

解决:_display:inline;

5.IE6,IE7高度塌陷
 
    hasLayout(是否为布局 标签)值为true或者false

解决:zoom放大缩小,触发IE6,IE7中的hasLayout为true   
    (*zoom:1;)

非IE父元素跟随子元素移动 解决:加边框、overflow 、padding

6.图片默认间距

解决: float

7.IE6不支持min-height。

解决:_height/height:auto !important;

不支持min-width

//CSS表达式(尽量不用,要用就在IE6中)

_width:expression
    (documentElement.clientWidth<500?"500px":"auto");

8.通过条件注释

<!--[if lte IE 6]>
    这段内容只显示在版本小于等于IE6的
    <![endif]-->

最新文章

  1. C#异步编程(二)
  2. h5容易遗忘的内容
  3. 了解了下 Google 最新的 Fuchsia OS
  4. 9. js实现java方法:HtmlUtils.htmlEscape()
  5. Prim算法(二)之 C++详解
  6. MySQL创建数据库和表的Demo
  7. WP老杨解迷:发布包多少大小合适
  8. json-lib 之jsonConfig具体应用
  9. android 解决启动页面加载图片空白以及去掉标题栏
  10. 如何将位图格式图片文件(.bmp)生成geotiff格式图片?
  11. 2014第8周一JS正则小问题
  12. Automap sqlalchemy.ext.automap 自动映射数据库表结构
  13. Hadoop平台基本组成
  14. ES的基本用法
  15. Git 安装和使用Tips
  16. Unity Button事件的简洁处理
  17. 自己理解Java中的lambda
  18. MVC源码分析 - Action/Result 过滤器执行时机
  19. 【代码笔记】iOS-去掉NSString中的空格
  20. ARM入门最好的文章

热门文章

  1. ApacheBench 测试性能并使用 GnuPlot 绘制图表
  2. css中的流,元素,基本尺寸
  3. webstorm + babel
  4. Project Euler 25 1000-digit Fibonacci number
  5. Python爬虫基础--分布式爬取贝壳网房屋信息(Client)
  6. J2EE提高之知识清单
  7. 使用IO,递归打印目录树
  8. static final常量变量的正确书写规范
  9. 【云快讯】之四十八《IBM和Cisco最新收购,加强Openstack易用能力》
  10. JavaScript 获取小数任一小数点后的位数的小数