2014-07-03 73 views
-1

我有一个CSS文件的问题。该CSS文件不适用于Win XP中的IE8和Win 7中的IE 9,但在Win 8,Win 7中的IE 10以及Firefox和Chrome中均可正常工作。请让我知道如何使它适用于所有版本。当我查看源代码时,CSS文件存在,但它不适用于页面 感谢大家阅读。文件css不适用于IE 8中win xp,9 win 7

+0

你可以显示你的CSS代码?有时候我们必须在css代码中做一些技巧才能在IE的古代版本中工作 – Ninita

回答

-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类创建的表达/功能我们结合相同b HTML代码的行为。

+0

我的代码还行,只是css文件不行, 我把它放在head标签的末尾但它不适用,在> IE10中它工作好,我不知道如何 – Init

+0

你可以显示你的头文件代码? CSS文件无法正常工作。或者CSS文件没有加载或者CSS属性没有被读取,为此我的答案必须解决这个问题。如果CSS文件未加载,可能是引用问题,或者可能缺少一些标记结尾。 – Ninita

+0

如果CSS文件存在于HTML头部并且它的属性是否实现了悬停在各自的HTML元素上,您已经尝试在IE 7上进行调试(例如)? – Ninita