|
|
|
|
|
最近做一個(gè)項(xiàng)目,需要用CSS識(shí)別各種主流瀏覽器,Chrome、Firefox、IE11,因?yàn)橐郧皩?xiě)過(guò)類(lèi)似的代碼,以為很快搞定,但是把代碼復(fù)制過(guò)來(lái)之后發(fā)現(xiàn),那些代碼現(xiàn)在已經(jīng)失效了。
經(jīng)過(guò)測(cè)試,發(fā)現(xiàn)現(xiàn)在有了新的CSS識(shí)別Chrome、Firefox、IE11瀏覽器的代碼,至少到目前為止,這些代碼還能用。
下面是一個(gè)完整實(shí)例。
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<style type="text/css">
body{
background:#ccc;
}
div{
color:blue;
}
/* firefox */
@-moz-document url-prefix(){
div{
color:red;
}
}
/* IE11+ */
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
div{
color:yellow;
}
}
</style>
</head>
<body>
<div>
卡卡網(wǎng) m.gazebo2go.com
</div>
</body>
</html>
執(zhí)行結(jié)果
Chrome
Firefox
IE11
執(zhí)行結(jié)果符合預(yù)期。
代碼解釋
在編寫(xiě)代碼的時(shí)候,主體代碼用Chrome調(diào)試,另外編寫(xiě)Firefox和IE11的代碼。因此CSS只需識(shí)別Firefox和IE11瀏覽器即可。
識(shí)別Firefox的代碼是
@-moz-document url-prefix(){}
識(shí)別IE11的代碼是
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {}
識(shí)別Chrome和Firefox
另外測(cè)試發(fā)現(xiàn),下面的代碼可以識(shí)別Chrome和Firefox,而IE11不會(huì)執(zhí)行里面的代碼。
@media all and (-webkit-min-device-pixel-ratio:0) and (min-resolution: .001dpcm) {}
本文介紹了現(xiàn)在新的CSS識(shí)別Chrome、Firefox、IE11瀏覽器的代碼,因?yàn)闉g覽器不斷更新,這些代碼可能過(guò)一段時(shí)間也會(huì)無(wú)效。所以我們?cè)诰帉?xiě)代碼時(shí),需要進(jìn)行各種瀏覽器的兼容性測(cè)試。
參考文章