CSS Hack兼容各浏览器是否正常

aifeng1991

aifeng1991

2016-02-20 00:12

图老师设计创意栏目是一个分享最好最实用的教程的社区,我们拥有最用心的各种教程,今天就给大家分享CSS Hack兼容各浏览器是否正常的教程,热爱PS的朋友们快点看过来吧!

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/webkaifa/)CSS Hack是在标准 CSS 没办法兼容各浏览器显示效果时才会用上的补救方法,我们在webjx.com中不泛深入介绍CSS兼容性的文章。在各浏览器厂商解析 CSS 没有达成一致前,我们只能用这样的方法来完成这样的任务。
  在webjx.com上你可能能搜索到一大堆的 CSS Hack,但是我今天发布的你可能并不都很了解,因为这些都是只针对单独一个浏览器的 CSS Hack。为了向你展示这些 CSS Hack 是否正常运作,我新建六个 P 标签,并给每一个 P 标签一个特有的 id。这将向你展示 CSS Hack 的运作情况。

p id="opera"我来自 Opera 7.2 - 9.5/p 
p id="safari"我是神奇的 Safari/p 
p id="firefox"我来自 Firefox/p 
p id="firefox12"我是你爷爷 Firefox 1 - 2 /p
 p id="ie7"我是囧 IE 7/p 
p id="ie6"我是脑瘸 IE 6/p 
  然后我让这些 P 标签默认都不显示

style type="text/css" body p{display: none;} /style 
  使用 IE CSS 条件注释区分 IE 浏览器
  最简单的区分 IE 浏览器的方法自然是使用他们的条件注释。 微软创建了一个强大的语法来让我们去实现这个功能。我不想再详细地介绍 IE 条件注释了,我想你在搜索引擎能搜索到上万个搜索条目,我这里只要这两个:

!--[if IE 7] 
style type="text/css" 
/style ![endif]--
 !--[if IE 6] 
style type="text/css" /style 
![endif]-- 
  使用 CSS 解析器 Hacks 区分 IE
  虽说 IE 条件注释十分简单好用,但是如果你想把全部的 CSS 放到一个文件里的话,那么你不得不使用别的方法。注意这里的 IE 7 Hack将只对 IE7 有效,因为 IE6 根本不知道  选择符。同时你也得注意  选择符对于其他浏览器同样是无效的。

 html  body #ie7 {*display: block;} 
 body #ie6 {_display: block;} 
  CSS Hack 区分 Firefox
  第一个使用了 body:empty 来区分 Firefox 1 和 2 。第二个 hack使用了全部 Firefox 浏览器的专有扩展 -moz。 -moz 只对 Firefox有效,使用这个 Hack 大可不必担心其他浏览器的影响。

body:empty #firefox12 {display: block;}
@-moz-document url-prefix() {#firefox { display: block; }}  
  CSS Hack 区分 Safari
  Safari 的 CSS hack 与 Firefox 的 hack 看起来很像,使用的是 Safari浏览器的专有扩展 -webkit 且只对 Safari 浏览器有效。

@media screen and (-webkit-min-device-pixel-ratio:0) {#safari { display: block; }} 
  CSS Hack 区分 Opera
 
@media all and (-webkit-min-device-pixel-ratio:10000), not all and (-webkit-min-device-pixel-ratio:0) {head~body #opera { display: block; }} 
  然后,全部合在一起便是

!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"
html lang="en"
head
meta http-equiv="Content-Type" content="text/html; charset=utf-8"
titleCSS Browser Hacks - webjx.com/title
style type="text/css"
body p {
    display: none;
}


html:first-child #opera {
    display: block;
}

 html  body #ie7 {
*display: block;
}

 body #ie6 {
    _display: block;
}

body:empty #firefox12 {
    display: block;
}
 
@-moz-document url-prefix() {
 #firefox {
    display: block;
}
}


@media screen and (-webkit-min-device-pixel-ratio:0) {
#safari {
display: block;
}
}

@media all and (-webkit-min-device-pixel-ratio:10000), not all and (-webkit-min-device-pixel-ratio:0) {
head~body #opera {
display: block;
}
}
/style
/head
body
p id="opera"我来自 Opera 7.2 - 9.5/p
p id="safari"我是神奇的 Safari/p
p id="firefox"我来自 Firefox/p
p id="firefox12"我是你爷爷 Firefox 1 - 2 /p
p id="ie7"我是囧 IE 7/p
p id="ie6"我是脑瘸 IE 6/p
/body
/html 
  CSS Hack 虽好且方便兼容各浏览器,但是通不过 W3C 验证,所以还得自己权衡是否有必要去使用。
展开更多 50%)
分享

猜你喜欢

CSS Hack兼容各浏览器是否正常

Web开发
CSS Hack兼容各浏览器是否正常

CSS hack浏览器兼容一览表

Web开发
CSS hack浏览器兼容一览表

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

看懂《CSS hack浏览器兼容一览表》

Web开发
看懂《CSS hack浏览器兼容一览表》

浏览器CSS兼容方案

Web开发
浏览器CSS兼容方案

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

CSS hack定义技巧浏览器兼容一览表

Web开发
CSS hack定义技巧浏览器兼容一览表

不同浏览器的CSS Hack写法

Web开发
不同浏览器的CSS Hack写法

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

Excel2007公式常见显示错误原因与解决方法教程

Excel2007公式常见显示错误原因与解决方法教程

CSS3.0参考手册下载(Webjx推荐)

CSS3.0参考手册下载(Webjx推荐)
下拉加载更多内容 ↓