明星黑客不在IE6和8中工作

时间:2011-09-20 11:52:32

标签: css internet-explorer internet-explorer-8 internet-explorer-6

在某处可以提供帮助,我的明星黑客在IE6和8中工作,我试图设计这些表单元素吗?但它奇怪地适用于ie7?

我尝试添加类选择器的明星infront一般,这使它在IE8和7中工作,但stil不是6然后使*适用于firefox,safari,chrome等也只是意味着明星是应用于我不需要的每个浏览器,只需要Internet Explorer。

请帮忙吗?

/* FORMS */

/*SEARCH*/

#searchform .s, #searchform .but{float:left;}

#searchform .s{
background-color:rgba(128, 129, 132, 0.4);background-image: url(images/line.png);margin-bottom: 10px; border: none;  padding:10px;width: 140px;
font-family: Helvetica, Arial, Sans-serif; font-size: 12px; font-weight: bold; color: #868686; 
}

#searchform .but
{
background-color:rgba(128, 129, 132, 0.4);  margin-bottom: 10px; border: none;  padding:10px;width: 30px;
font-family: Helvetica, Arial, Sans-serif; font-size: 12px;font-weight: bold; color:#00ADEE;
}

/* IE HACK */

*#searchform .s{
*background-color:#C3C3C4;
}

*#searchform .but{
*background-color:#C3C3C4;
*height: 35px
}

/*FIREFOX btn HACK*/    
#searchform .but::-moz-focus-inner {
    padding: 0;
    border: 0
}

/* MAILING LIST */

#mc_embed_signup #mce-EMAIL, #mc_embed_signup #mc-embedded-subscribe{float:left;}

#mc_embed_signup{margin-top: 10px;  
background-image: url(images/ieblue.png); }
#mc_embed_signup #text { padding: 8px 5px 8px 8px;
font-family: Helvetica, Arial, Sans-serif; font-size: 10px; line-height: 14px; font-weight: bold; color: #FFFFFF;}
#mc_embed_signup .asterisk {color: #FFFFFF}
#mc_embed_signup #mce-EMAIL {background-color:rgba(0, 173, 238, 0.6);background-image: url(images/line2.png);
margin-bottom: 10px; border: none;  padding:10px;width: 158px;
font-family: Helvetica, Arial, Sans-serif; font-size: 12px; font-weight: bold; color: #FFFFFF; }
#mc_embed_signup #mc-embedded-subscribe {background-color:rgba(0, 173, 238, 0.6);  margin-bottom: 10px; border: none;  padding:10px;width: 30px;
font-family: Helvetica, Arial, Sans-serif; font-size: 12px;font-weight: bold; color:#FFFFFF;
}

/* IE HACK */
* #mc_embed_signup #mce-EMAIL{
*background-color:#60c7ee;
}
* #mc_embed_signup #mc-embedded-subscribe{
*background-color:#60c7ee;
*height: 35px
}

/*FIREFOX btn HACK*/    
#mc_embed_signup #mc-embedded-subscribe::-moz-focus-inner {
    padding: 0;
    border: 0
}

#hidemap{
display: none;}

/* DIRECTIONS */
#daddr #saddr{float:left;}


#saddr {background-color:rgba(128, 129, 132, 0.4);background-image: url(images/line.png);
margin-bottom: 0px; border: none;  padding:10px;width: 158px; ;
font-family: Helvetica, Arial, Sans-serif; font-size: 12px; font-weight: bold; color: #868686;}
#saddrbut {background-color:rgba(128, 129, 132, 0.4);  margin-bottom: 0px; border: none;  padding:10px;width: 30px;
font-family: Helvetica, Arial, Sans-serif; font-size: 12px;font-weight: bold; color:#00ADEE;
}

*#saddr{
*background-color:#C3C3C4;
}

*#saddrbut{
*background-color:#C3C3C4;
*height: 35px
}

/*FIREFOX btn HACK*/    
#saddrbut::-moz-focus-inner {
    padding: 0;
    border: 0
}

2 个答案:

答案 0 :(得分:2)

明星黑客攻击IE7及以下版本,这解释了为什么它在IE8中不适合你。我不能说为什么它不能用于IE6;我认为明星黑客会为它工作,但由于我们已经放弃了对IE6的支持,我已经有一段时间没有考虑过了,所以我可能没有记错。

我想说使用这样的黑客通常是一个坏主意 - 十分之九,如果你使用CSS黑客攻击IE6以外的任何东西,那么你做错了。即使对于IE6,最好使用条件注释(实际上这一点适用于所有版本的IE)。

如果必须使用CSS黑客来定位IE,我建议查看this page,它会提供特定的黑客攻击,您可以使用它来定位任何单独的IE版本组合。

如果您的目标是IE8及以下,那么\9黑客似乎是合适的。我仍然会重复我之前所说的内容,并建议尽可能不使用黑客攻击。

希望有所帮助。

[编辑]

它不适合你的原因是明星黑客攻击属性,而不是选择器。

所以你有这个:

*#searchform .s{
*background-color:#C3C3C4;
}

而明星黑客只想要background-color行上的星号,而不是#searchform选择器。

[EDIT2]

更重要的是,你根本不需要在这里使用任何黑客。

首先只需指定纯色后备版本,然后再指定更高级版本,浏览器将根据他们支持的内容选择适合他们的版本:

#searchform .s{
    background-color:#C3C3C4;
    background-color:rgba(128, 129, 132, 0.4);
    margin-bottom: 10px; border: none;
}

请参阅 - 无需黑客攻击。 : - )

答案 1 :(得分:1)

我已经阅读了一些关于那些css-hacks的内容,而且男孩们看起来很乱!有一个很好的参考 Wikipedia可用。

我建议你在你的html中使用条件注释来进行IE样式设置。它将所有特定于IE的样式保存在一个单独的文件中:

<!--[if IE]>
  <link href="style-ie.css" rel="stylesheet" type="text/css" />
<![endif]-->

<!--[if lt IE 8]>
  <link href="style-below-ie8.css" rel="stylesheet" type="text/css" />
<![endif]-->

这是关于条件评论的完整指南: http://www.quirksmode.org/css/condcom.html