我的CSS文件有问题。 CSS文件不适用于Win XP中的IE8和Win 7中的IE 9,但在Win 8,Win 7中的IE 10以及firefox和chrome中都能正常工作。请让我知道如何使它适用于所有版本。当我查看源代码时,CSS文件存在,但它不适用于页面 谢谢大家阅读。
答案 0 :(得分:-1)
有时我们必须在css代码中做一些技巧才能在IE古老版本和其他浏览器中工作。
例如,要对元素应用不透明度,我通常会这样做:
.withOpacity {
/* IE 8 */ -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
/* IE 5-7 */
-webkit-filter: alpha(opacity=60);
-moz-filter: alpha(opacity=60);
-o-filter: alpha(opacity=60);
filter: alpha(opacity=60);
/* Netscape */ -moz-opacity: 0.6;
/* Safari 1.x */ -khtml-opacity: 0.6;
/* Good browsers */
-ms-opacity: 0.6;
opacity: 0.6;
}
因此,opacity
属性是通用的,但有时为某些浏览器提供支持,我们必须先加入相应的前缀。例如,看this page以便更好地理解。
有时,为了强制IE古代版本应用css属性,我们必须在属性之前加入*
,这就足够了,就像这样:
.smallElement
{
width: 20px;
*width: 20px
}
例如,要创建必需的字段指示符,我通常会这样做:
.fieldRequired:after,
.requiredIndicator
{
content: "*";
color: red;
vertical-align: top
}
.fieldRequired
{
zoom: expression(this.doneReq ? '1' : (
function(el) {el.innerHTML += '<span title="This is a required field!" class="requiredIndicator">*</span>'; return el.doneReq=true;})(this));
}
换句话说,IE古代版本无法在.fieldRequired:after
上应用css代码,因此使用.fieldRequired
类中创建的表达式/函数,我们将与html代码绑定相同的行为。