我需要一个黑客来将互联网浏览器降低到9,或者更具体;我需要一个内联 CSS黑客攻击非CSS3浏览器
_prop:val -> ie6
*prop:val -> ie6 & ie7
????????? -> ie8 & ie7 & ie8
我正在为这些浏览器使用渐变和图像,但ie8不支持它...所以我只想在必要时加载替代图像
(请避免答案建议使用条件化或使用javascript使用外部样式表。我知道这段代码无效,但它只是一件小事。另外我很想知道是否它的可能:))
答案 0 :(得分:4)
我在项目中使用IE8中的渐变。它确实有效!
<style>
#gradient {
color: #fff;
height: 100px;
padding: 10px;
/* For WebKit (Safari, Google Chrome etc) */
background: -webkit-gradient(linear, left top, left bottom, from(#00f), to(#fff));
/* For Mozilla/Gecko (Firefox etc) */
background: -moz-linear-gradient(top, #00f, #fff);
/* For Internet Explorer 5.5 - 7 */
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#FF0000FF, endColorstr=#FFFFFFFF);
/* For Internet Explorer 8 */
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#FF0000FF, endColorstr=#FFFFFFFF)";
}
</style>
对于盒子阴影,似乎有一个像这样的解决方法:
.shadow {
zoom: 1;
filter: progid:DXImageTransform.Microsoft.Shadow(color='#999999', Direction=0, Strength=3)
progid:DXImageTransform.Microsoft.Shadow(color='#999999', Direction=45, Strength=2)
progid:DXImageTransform.Microsoft.Shadow(color='#999999', Direction=90, Strength=3)
progid:DXImageTransform.Microsoft.Shadow(color='#999999', Direction=135, Strength=2)
progid:DXImageTransform.Microsoft.Shadow(color='#999999', Direction=180, Strength=3)
progid:DXImageTransform.Microsoft.Shadow(color='#999999', Direction=225, Strength=2)
progid:DXImageTransform.Microsoft.Shadow(color='#999999', Direction=260, Strength=3)
progid:DXImageTransform.Microsoft.Shadow(color='#999999', Direction=305, Strength=2);
-moz-box-shadow: 0 0 5px #222; /*Mozilla-basierte Browser (z.B. Firefox)*/
-webkit-box-shadow: 0 0 5px #222; /*WebKit-basierte Browser (z.B. Safari/Chrome)*/
box-shadow: 0 0 5px #222; /*CSS3 Standard*/
}
对于border-radius来说,直到ie9才有支持,据我所知。我正在使用几个jQuery插件来实现IE中的border-radius。希望这段代码对你有帮助!
答案 1 :(得分:4)
您不需要黑客,因为没有当前浏览器支持所有CSS3。
相反,只需为旧版浏览器指定回退属性,如下所示:
#selector {
background: url("gradient.png");
background: gradient(...);
}
答案 2 :(得分:1)
你需要使用它:
prop: val\9
将\ 9直接放在任何值的末尾将仅针对IE8及以下