Firefox与IE浏览器
发布网友
发布时间:2022-04-20 11:09
我来回答
共5个回答
热心网友
时间:2022-04-20 12:38
我们针对不同的浏览器开发出不同的CSS文件,一个针对IE,一个针对Firefox,一个针对其它所有类型的浏览。这样,我们在设计时,就不用去考虑太多,只要我这个CSS能在FF中正常显示,我就不管IE下执行下怎么样了,同样IE中正常的CSS,也不去管它在FF中会是显示如何的乱。
首先,我们在HTML代码里要放入<link></link>标签,标签里先写入默认要用到的CSS文件的位置,建议放IE中用到的CSS文件,比如<link href="../css/ie.css" rel="stylesheet" type="text/css">,这样能避免在对方浏览器没有开启javascript的时候,无法判断浏览器类型的时候,也能以90%以上人使用的IE正常显示。
把下面这段JS放在HEAD中
<SCRIPT LANGUAGE="JavaScript">
<!--
if (window.navigator.userAgent.indexOf("MSIE")>=1)
{
//如果浏览器为IE,调用../css/ie.css
setActiveStyleSheet("ie.css");
}else{
if (window.navigator.userAgent.indexOf("Firefox")>=1)
{
//如果浏览器为Firefox,调用../css/firefox.css
setActiveStyleSheet("firefox.css");
}else{
//如果浏览器为其他,调用../css/other.css
setActiveStyleSheet("other.css");
}
}
function setActiveStyleSheet(title){
document.getElementsByTagName("link")[0].href="../css/"+title;
//document.getElementsByTagName("link")[0].href="/blog/css/"+title; 这一行中的0是指第一个名为<link>的标签,改为1,则表示第二个名为<link>的标签。href=“”里面就是放置CSS文件的路径,而title就是CSS文件的文件名
}
//-->
</SCRIPT>
热心网友
时间:2022-04-20 13:56
下面介绍用* html,* +html的hack写法,此方法可以通过CSS验证,也比较规范。哈哈,HACK本来是不归范的产物,只是我个人认为这种Hack写法是Hack写法中的规范而已,不要拿东西砸我!!!
我写一个例子
#sample {background:red;}
* html #sample {backgroud:green;}
* +html #sample{backgroud:blue}
在DW中建立一个sample层,写入以上代码,运行一下看看,你会在Firefox或是Netscape或Opera中看到,sample的背景色是红色的。在IE6中看到背景色是绿色的,而在IE7中却是蓝色的。好玩吧~
同样,你也可以应用到class和body中去,一样的道理,三个写法:
第一个是标准写法,针对所有浏览器都有效,但是一样的CSS在不同的浏览器中会变形,这个道理你明白吧,要不然你也不会来看我这篇文章了。Firefox,Oprea等非IE浏览器,不识别下面两种写法,所以理所当然的执行了第一种CSS代码,为红色背景。
第二个是只针对IE6,只有IE6会执行,其它浏览器都不执行。那么Firefox,IE7都不会读到这里的代码,IE6本来第一种是能执行的,可是因为第二种能识别,所以过滤了第一种的红色效果,变成了绿色背景。
第三个只针对IE7,只有IE7才能执行。IE6,firefox都不识别,当然只有IE7自己执行啦,同样的道理,能执行第一种,变成红色,可又被第三种过滤成蓝色背景。
热心网友
时间:2022-04-20 15:31
楼上说的都很先进,很详细,但大多数开发者都不愿意去费这么多劲的为每个浏览器开发相应的CSS啊,如果一个网站有很多很多的页面,那光开发CSS都累死人啊!现在不是都在讲WEB重构吗?讲标准化吗?以前光个FF和IE6就够让人头痛的了,现在又来个IE7,跟IE6又有了很大的差别!想要兼容所有浏览器又要通过W3C真是太麻烦了!
多数时候我们只要装上IE6和FF(IE7跟FF差不多),然后同时在两个浏览器中调试!然后在加上一些修正(用!important或IE的[CDATA])就OK了!
如下应用:
.DocAll li {
margin: 0px;
padding-top: 3px;padding-top: 1px !important;
}
#reSetMenu {display:block;position:fixed;/* IE不认识fixed,而FF认识 */<br/>left:0px;top:40%;width:14px;height:100px;z-index:99;}
* html #reSetMenu {position:absolute;} /* 这个只有IE认识 */
<!--[if IE 6]>
<style type="text/css">
/*<![CDATA[*/
body {overflow-x:hidden; overflow-y:auto;}
/*]]>*/
</style>
<![endif]-->
热心网友
时间:2022-04-20 17:22
Firefox和IE的核心不一样,对HTML代码解析也不一样,没办法的
很多网页上的功能用Firefox都不行
热心网友
时间:2022-04-20 19:30
html网页可以参考W3C标准 http://www.w3school.com.cn/w3c/w3c_html.asp