IE的自定义css属性

时间:2011-02-17 03:04:43

标签: javascript css

我对使用jquery和css制作的一些按钮有悬停效果,弹出的文本是带有黑色背景和文本阴影等的白色文本。由于IE不支持这有一种方法我只能添加IE如果浏览器是IE,它将改变字体颜色。

.social li a strong 
{ 
    font-weight:normal; 
    position:absolute; 
    left:20px; 
    top:-1px; 
    color:#fff; 
    padding:3px; 
    z-index:9999;
    text-shadow:1px 1px 0 rgba(0, 0, 0, 0.75); 
    background-color:rgba(0, 0, 0, 0.7);
    -moz-border-radius:3px; 
    -moz-box-shadow: 0 0 5px rgba(0, 0, 0, 0.5); 
    -webkit-border-radius:3px; 
    -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.5); 
    border-radius:3px; 
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
}

3 个答案:

答案 0 :(得分:2)

你需要以某种方式识别IE。

1. Use a conditional comments stylesheet.

这需要额外的HTTP请求,但我只是称之为糟糕的浏览器税。

但是,你可以将额外的CSS内联到style元素中。

2. Use a CSS hack

这很难看,不推荐。对于一些小的属性设置,它可能很有用。

3. Attach a hook via JavaScript

这很有效,因为你可以.ie #element { ... },除非没有启用JavaScript,用户将看不到任何仅IE属性。

答案 1 :(得分:1)

使用条件语句
If IE do this
<!--[if IE]>

Do this
<![endif]-->

If not IE do this
<!--[if !IE]>-->
Do this
<!--<![endif]-->

答案 2 :(得分:1)

使用Internet Explorer的条件注释,您可以在您的body标签中附加一个类:

<!--[if lt IE 7 ]>  <body class="ie6 ie"> <![endif]-->
<!--[if IE 7 ]>     <body class="ie7 ie"> <![endif]-->
<!--[if IE 8 ]>     <body class="ie8 ie"> <![endif]-->
<!--[if IE 9 ]>     <body class="ie9 ie"> <![endif]-->
<!--[if (gt IE 9)|!(IE)]><!--> <body> <!--<![endif]-->

然后在样式表中,您可以定位需要额外CSS的IE的版本(或多个版本):

.ie .social li a strong { ... }