浏览器的CSS调用

§ 十二月 15th, 2010 § Filed under 电商之路 § Tagged , , , § 7 Comments

Zhongyuan

97100fe403b9
浏览器的CSS调用

最近在帮RM老师做一个“电子商务信息与安全”精品课程网站,从P图到搭建,全部都弄的七七八八后,最后发现了一个让人很纠结的问题——就是主页CSS在不同浏览器呈现的不同效果问题。由于我电脑用的是IE8和谷歌,所以测试的结果没问题,刚开始打开遨游出现了按钮重叠部分显示不了的问题,那是因为设置了li的margin属性,本来是想达到按钮重叠的效果的,可是由于遨游的内核还是用的IE7,所以就出现了背景图片重叠的部分显示不了的情况,如下:

这显的很不圆滑很不和谐,所以不得不研究研究。看能不能修改下CSS来解决问题,在网上找了很久,虽说没找到有效的解决办法,但还是得到了线索,把margin-bottom属性去掉(但是其实margin-bottom属性在IE8和谷歌浏览器都不会出现这种问题),修改下line-height属性。说到这就不得不介绍下line-height属性了,line-height在W3C的解释是:

遨游截图

设置行间的距离(行高),该属性会影响行框的布局。在应用到一个块级元素时,它定义了该元素中基线之间的最小距离而不是最大距离。line-height 与 font-size 的计算值之差(在 CSS 中成为“行间距”)分为两半,分别加到一个文本行内容的顶部和底部。可以包含这些内容的最小框就是行框。原始数字值指定了一个缩放因子,后代元素会继承这个缩放因子而不是计算值。

据网上的评论可知,line-height属性难倒了很多人,因为它在浏览器的支持性上有所区别,特别是IE6,在IE8的效果是没问题的,可是当我在电子阅览室IE6测试时,却发现出现了被撑破背景图片的现象:

这就让我纠结不已,而且显示不了背景图片,最后找到的解决办法是在li里面加入height属性,然后逐渐调整height属性以及line-height属性的值达到自己想要的效果,不过还有一点很为难我的,就是IE6问题解决了,可是其他浏览器在IE6的CSS代码下又会出现过于重叠的效果,所以我找到了另外一个方法,在网页中根据浏览器的不同调用不同的CSS文件。

代码如下(记住CSS调用的代码都是放在<head><head/>标签间的):

<link type=”text/css” rel=”stylesheet” media=”screen” href=”index.css” />(调用默认CSS文件,此文件文件名为index)
<!–[if IE 7]>
<link rel=”stylesheet” type=”text/css” href=”ie7.css” />
<![endif]–>(当浏览器为IE7时调用ie7.css文件)
<!–[if lte IE 6]>
<link rel=”stylesheet” type=”text/css” href=”ie6.css” />
<![endif]–>(当浏览器版本小于或等于ie6时调用ie6.css文件)
就这样解决了各个浏览器CSS显示效果不一样的问题,虽说现在大部分人用的都是IE7或者以上的版本,但是这是老师申请精品课程的网站,必须做的严谨点,而且还是小部分还在用ie6的,特别是xp系统的。
另外,IE6还有一个不能兼容的问题就是关于透明背景的PNG图片的问题,透明背景总是会出现灰边,由于这在我的网页上起到的负面影响不是很大,所以并没有去深入研究,不过我会在接下来找下解决的办法的。

7 Responses to “浏览器的CSS调用”

共1页 第1页1