css错乱 - Web 开发 / JavaScript
最近做的一个网站,先是用ie8的,后来在ie6,7上运行,在ie8上图片能透明显示,到了ie6,7上就不透明了,这是什么原因,有什么好的解决方案么?
各版本 浏览器 肯定有差别的
ie6不支持png透明,但IE7支持,不知道你是什么原因导致IE7意然也不能透明。你应该把问题说清楚一点。
一般都支持png的透明,或者gif, 楼主做这些主要是自己去试试,多查查,没有什么好的办法,要不两个浏览器之间的差异至少可以写一本书
双重显示方式
首先能显示透明图片的浏览器直接显示图片
不能显示透明图片的浏览器比如IE6(好象也就它了)
通过设置背景滤镜来显示透明
这个要JS来控制 比如设置透明图片一个 通用的class='png' <img class='png' />
然后判断是IE6的情况下 将所有class='png'的图片替换为背景滤镜显示图片的标签
IE6下用Css hack
比如 IE6能识别下划线"_"和星号" * ",IE7能识别星号" * ",但不能识别下划线"_"
比如要分辨IE6和firefox两种浏览器,可以这样写:
<style>
div{
background:green; /* for firefox */
*background:red; /* for IE6 */
}
</style>
我在IE6中看到是红色的,在firefox中看到是绿色的。
所以,你这里只要把ie6,ie7的css写在最后,用*background就行了,在*background里用gif图片作透明
相关问答:
刚才在别处看到一个关于js+css来控制网页显示的问题,如何写自动判断是百度蜘蛛还是人浏览呢
就是百度蜘蛛访问的是一个页面,而人看到的是另一个页面
希望高手帮助
不会,帮你顶一下
不懂,有待学习!
唉~~ ......
<head runat="server">
<title>无标题页</title>
<style type="text/css">
*{ margin:0}
body,html,form{ height:10 ......
在IE6下如果“.lmenu ul li a:hover {color:#000; background:#123234;}”如果这个是能正常显示,但背景改成图片的如:“.lmenu ul li a:hover {color:#000; background:url(images/1_23.jpg);}”二级菜单就不能显示 ......