常用浏览器兼容性

HTML识别

条件注释法(IE10以及以上版本不支持条件注释)

  【注意】两个--和左中括号[之间不能有空格,否则无效

  [1]IE9-(<!--[if IE]><![endif]-->)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
<style>
.box{
    height: 100px;
    width: 100px;
    background-color: red;
}
</style>
</head>
<body>
<!--[if IE]>
<div class="box" id="box"></div>
<![endif]-->
</body>
</html>

  [2]仅单一IE(<!--[if IE 6]><![endif]-->)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
<style>
.box{
    height: 100px;
    width: 100px;
    background-color: red;
}
</style>
</head>
<body>
<!--[if IE 7]>
<div class="box" id="box"></div>
<![endif]-->
</body>
</html>

  [3]大于 gt ||  大于等于 gte || 小于 lt || 小于等于 lte(<!--[if gte IE 8]><![endif]-->)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
<style>
.box{
    height: 100px;
    width: 100px;
    background-color: red;
}
</style>
</head>
<body>
<!--[if gte IE 7]>
<div class="box" id="box"></div>
<![endif]-->
</body>
</html>        

  [4]非IE(IE10以及以上版本也能识别),此处多加的<-->,在IE中被当作内部注释,而在非IE浏览器中会闭合之前的注释(<!--[if !IE]><--><![endif]-->)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
<style>
.box{
    height: 100px;
    width: 100px;
    background-color: red;
}
</style>
</head>
<body>
<!--[if !IE]><-->
<div class="box" id="box"></div>
<![endif]-->
</body>
</html>        

CSS hack

【1】属性前缀法(只有IE支持)

  [1]IE6(下划线、中划线)(_color:blue;-color:blue;)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
<style>
.box{
    height: 100px;
    width: 100px;
    _background-color: red;
}
</style>
</head>
<body>
<div class="box" id="box"></div>
</body>
</html>            

  [2]IE7及以下版本(*号、+号)(*color:blue;+color:blue;)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
<style>
.box{
    height: 100px;
    width: 100px;
    *background-color: red;
}
</style>
</head>
<body>
<div class="box" id="box"></div>
</body>
</html>            

  [3]IE10及以下版本(\9)(color:blue\9;)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
<style>
.box{
    height: 100px;
    width: 100px;
    background-color: red\9;
}
</style>
</head>
<body>
<div class="box" id="box"></div>
</body>
</html>            

  [4]IE8及以上版本(\0)(color:blue\0;)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
<style>
.box{
    height: 100px;
    width: 100px;
    background-color: red\0;
}
</style>
</head>
<body>
<div class="box" id="box"></div>
</body>
</html>            

  [5]IE9、IE10(\9\0)(color:blue\9\0;)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
<style>
.box{
    height: 100px;
    width: 100px;
    background-color: red\9\0;
}
</style>
</head>
<body>
<div class="box" id="box"></div>
</body>
</html>        

【2】选择器前缀法

  [1]IE6(*html)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
<style>
*html .box{
    height: 100px;
    width: 100px;
    background-color: red;
}
</style>
</head>
<body>
<div class="box" id="box"></div>
</body>
</html>

  [2]IE7(*+html)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
<style>
*+html .box{
    height: 100px;
    width: 100px;
    background-color: red;
}
</style>
</head>
<body>
<div class="box" id="box"></div>
</body>
</html>    

  [3]IE8(@media \0)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
<style>
@media \0{
    .box{
        height: 100px;
        width: 100px;
        background-color: red;
    }
}
</style>
</head>
<body>
<div class="box" id="box"></div>
</body>
</html>

  [4]IE9+及其他非IE浏览器(:root)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
<style>
:root .box{
    height: 100px;
    width: 100px;
    background-color: red;
}
</style>
</head>
<body>
<div class="box" id="box"></div>
</body>
</html>        

  [5]firefox(x:-moz-any-link,)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
<style>
x:-moz-any-link,.box{
    height: 100px;
    width: 100px;
    background-color: red;
}
</style>
</head>
<body>
<div class="box" id="box"></div>
</body>
</html>    

  [6]chrome、safari、opera(@media screen and (-webkit-min-device-pixel-ratio:0))

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
<style>
@media screen and (-webkit-min-device-pixel-ratio:0) {
    .box{
        height: 100px;
        width: 100px;
        background-color: red;
    }
}

</style>
</head>
<body>
<div class="box" id="box"></div>
</body>
</html>

时间: 2024-10-16 12:08:22

常用浏览器兼容性的相关文章

【转】各种常用浏览器“兼容性视图”设置方法

原文网址:http://work.haoysoft.com/orderking//public/compatibleviewseting.aspx 各种常用浏览器“兼容性视图”设置方法 订单管理系统的内容看不到或显示不正常时,需要设置浏览器的“兼容性视图”来保证系统的正常显示. 以下罗列出各种常用浏览器设置“兼容性视图”的方法,请根据您使用的浏览器来对照设置,以便系统能正常显示和使用. 1.IE浏览器“兼容性视图”设置 用IE浏览器打开订单管理系统后,在浏览器的地址栏的右边有一个的图标,如下图所

各大常用浏览器兼容性代码

[ -moz ] /* Firefox 4 */-moz-transition:width 2s;-moz-transition-timing-function:linear; [ -webki ]/* Safari and Chrome */-webkit-transition:width 2s;-webkit-transition-timing-function:linear; [ -o ]/* Opera */-o-transition:width 2s;-o-transition-tim

总结:各大常用浏览器兼容性代码

[ -moz ] /* Firefox 4 */-moz-transition:width 2s;-moz-transition-timing-function:linear; [ -webki ]/* Safari and Chrome */-webkit-transition:width 2s;-webkit-transition-timing-function:linear; [ -o ]/* Opera */-o-transition:width 2s;-o-transition-tim

常见浏览器兼容性问题与解决方案【转】

常见浏览器兼容性问题与解决方案 原文:http://blog.csdn.net/chuyuqing/article/details/37561313/ 所谓的浏览器兼容性问题,是指因为不同的浏览器对同一段代码有不同的解析,造成页面显示效果不统一的情况.在大多数情况下,我们的需求是,无论用户用什么浏览器来查看我们的网站或者登陆我们的系统,都应该是统一的显示效果.所以浏览器的兼容性问题是前端开发人员经常会碰到和必须要解决的问题. 在学习浏览器兼容性之前,我想把前端开发人员划分为两类: 第一类是精确按

常见浏览器兼容性问题与解决方案

1 所谓的浏览器兼容性问题,是指因为不同的浏览器对同一段代码有不同的解析,造成页面显示效果不统一的情况.在大多数情况下,我们的需求是,无论用户用什么浏览器来查看我们的网站或者登陆我们的系统,都应该是统一的显示效果.所以浏览器的兼容性问题是前端开发人员经常会碰到和必须要解决的问题. 2 3 在学习浏览器兼容性之前,我想把前端开发人员划分为两类: 4 5 第一类是精确按照设计图开发的前端开发人员,可以说是精确到1px的,他们很容易就会发现设计图的不足,并且在很少的情况下会碰到浏览器的兼容性问题,而这

常见的浏览器兼容性问题

浏览器兼容性问题一: 不同浏览器的标签默认的外补丁和内补丁不同(margin和padding) 问题症状:随便写几个标签,不加样式控制的情况下,各自的magin和padding差异较大. 解决方案:css里 *{margin:0;padding:0;} 浏览器兼容性问题二: 块属性标签float后,又有横行的margin情况下,在ie6显示margin比设置的大. 问题症状:常见症状是ie6中后面的一块被顶到下一行 碰到频率:90%(稍微复杂点的页面都会碰到,float布局常见的浏览器兼容问题)

常见CSS浏览器兼容性问题与解决方案【转载自http://blog.csdn.net/chuyuqing/article/details/37561313/】

所谓的浏览器兼容性问题,是指因为不同的浏览器对同一段代码有不同的解析,造成页面显示效果不统一的情况.在大多数情况下,我们的需求是,无论用户用什么浏览器来查看我们的网站或者登陆我们的系统,都应该是统一的显示效果.所以浏览器的兼容性问题是前端开发人员经常会碰到和必须要解决的问题. 在学习浏览器兼容性之前,我想把前端开发人员划分为两类: 第一类是精确按照设计图开发的前端开发人员,可以说是精确到1px的,他们很容易就会发现设计图的不足,并且在很少的情况下会碰到浏览器的兼容性问题,而这些问题往往都死浏览器

12款很棒的浏览器兼容性测试工具推荐

对于前端开发工程师来说,确保代码在各种主流浏览器的各个版本中都能正常工作是件很费时的事情,幸运的是,有很多优秀的工具可以帮助测试浏览器的兼容性,让我们一起看看这些很棒的工具. Spoon Browser Sandbox 点击你需要测试的浏览器环境,安装插件就可以进行测试了.帮助你测试网页在Safari.Chrome.Firefox和Opera浏览器中是否正常,IE以前也有的,网站上说应微软的要求去掉了. Superpreview 这是为微软自己发布的跨浏览器测试工具,您可以同时查看您的网页在多个

浏览器兼容性小记-DOM篇(二)

1.DOM中的所有节点都继承自Node类型,IE9之前将DOM节点作为COM对象来实现:每个DOM节点都有一个nodeType属性来表明节点类型,总共有12个类型: 1 Node.ELEMENT_NODE 2 Node.ATTRIBUTE_NODE 3 Node.TEXT_NODE 4 Node.CDATA_SECTION_NODE 5 Node.ENTITY_REFERENCE_NODE 6 Node.ENTITY_NODE 7 Node.PROCESSING_INSTRUCTION_NODE