关于一些CSS效果在Safari浏览器中不能成功

html-css04

关于一些CSS效果在Safari浏览器中不能成功,第1张

兼容问题..在一些浏览器当中...有的时候写下拉菜单只需要加上hover{display:block}它就会显示..但是有些浏览器没有遵循W3C的标准..它就不会显示..比如..IE6..但是在火狐当中它就可以...所以有些浏览器里..最好加上JS的代码..这样保证不同浏览器之间的兼容问题...或许你使用的SAFARI的版本不支持标准..换个好点的版本..或者换火狐4下..而且IE8的标准肯定要比IE6高很多...

实现根据浏览器类型自动调用不同CSS。<SCRIPT LANGUAGE="JavaScript">

<!--

if (window.navigator.userAgent.indexOf("MSIE")>=1)

{

//如果浏览器为IE

setActiveStyleSheet("IE.css")

}else{

if (window.navigator.userAgent.indexOf("Firefox")>=1)

{

//如果浏览器为Firefox

setActiveStyleSheet("Firefox .css")

}else{

//如果浏览器为其他

setActiveStyleSheet("qita .css")

}

}function setActiveStyleSheet(title){

document.getElementsByTagName("link")[0].href="style/"+title

}

//-->

</SCRIPT>

Bug调试

1:doctype没声明,带来的IE浏览器盒模型解析bug

解决: 进行xhtml 正确声明,如strict声明

2:浏览器的初始值不同带来的.

解决:进行css初始化.

3:自身代码不规范带来的bug,

解决:面壁

4:浏览器的bug带来的.

4.1 IE6, 有双倍margin bug

是指:浮动方向上的margin值会加倍.

例如: 某元素 float:leftmargin-left的值是10px, 那么页面上会解析为20px

同时 ,float:right, margin-right也会加倍

解决方案: 设置漂浮元素的_display:inline

4.2: 3像素bug,

解决:规范float的用法

4.3: IE关于a标签的4个伪类的兼容bug

答:对于IE, 如果a:link方式声明了标签的样式

可能会引来 visited伪类的解析异常

解决: 去掉a:link,以 a 来代替