隨着Responsive設計的流行,Medial Queries可算是愈來愈讓人觀注了。他可讓Web前端工程實現不一樣設備下的樣式選擇,讓站點在不一樣的設備中實現不一樣的效果。這個早前在w3cplus已經介紹過,若是你尚未接觸,不仿點擊這裏詳細閱讀。今天在看blog時發現一個其餘的使用方法,就是利用@media來作一些IE下的特殊效果。 前端
衆所周知,有些時候爲了實現IE下的某些效果與現代瀏覽器一致,咱們不得不使用一些hack手段來實現目的。好比說使用「\0」,「\」和「\9」來僅讓IE某些版本識別,而對於現代瀏覽器來講,他會直接無視這些代碼。今天我想爲你們介紹的是使用@media實現IE hack的方法: 瀏覽器
@media screen\9 { .selector { property: value; } }
@media \0screen\,screen\9 { .selector { property: value; } }
@media \0screen { .selector { property: value; } }
@media screen\0 { .selector { property: value; } }
@media screen and (min-width:0\0) { .selector { property: value; } }
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { /* IE10-specific styles go here */ }
上面幾個@media配合「\」、「\0」和「\9」就能讓不一樣版本的IE識別,那麼具體項目中咱們要怎麼使用呢? spa
打個比方,若是你的body中設置了一個紅色的背景,而想讓不一樣版本IE變成別的顏色,那麼咱們就能夠這麼操做 設計
body { background: red; } /* IE六、IE7變成綠色 */ @media all\9 { body { background: green; } } /* IE8變成藍色 */ @media \0screen { body { background: blue; } } /*IE9和IE10變成黃色*/ @media screen and (min-width:0\0) { body { background: yellow; } }
IE的Hack方法我向來不提倡使用,但這些方法不多有人知道,貼上來與你們分享,但願在不得已的狀況之下,這些hack方法能幫你解決問題,特別是國內的苦逼前端人員。 code