今天在做一个简易的图片浏览页面, 使用了Carousel Component V0.4.0来实现缩略图的显示. Carousel这个插件不是第一次使用, 上次给一个公司做网站时就出现了问题,在IE下插件上的按钮错位.


如 图,之前一直以为是插件有bug,需要自己修改CSS,但修改了CSS中的carousel-component类的padding属性后,在IE中正常 了,但Firefox中又错位了.忽然想起,修改之前都没有测试FF中是否正常,赶紧改回原样试了一下,果然,在FF中插件的位置是正常的,就是残疾IE 中才有问题.

既然IE中有问题时FF中正常,修改了padding属性后IE正常FF有问题,那八成是问题出在padding上了.网上搜了一下,发现IE和FF对padding-left的解释是不一样的,就导致了刚才出现的那种错位.要解决这一个矛盾,可以利用

程序代码 程序代码
!important

来解决.

!important是CSS1就定义的语法,作用是提高指定样式规则的应用优先权。最重要的一点是:IE一直都不支持这个语法,而其他的浏览器都支持。我们就可以利用这一点来分别给IE和其它浏览器不同的样式定义。

语法格式{ sRule!important },即写在定义的最后面,如:

例:
box{color:red !important;}

具体到本文中的问题,代码如下:

程序代码 程序代码
.carousel-component {
background:#ffffff;
padding-top:30px;
padding-right:0px;
padding-bottom:6px;
padding-left:0px !important;      //提升这一属性的优先级,使非IE浏览器可以适用这一属性.
padding-left:35px;                //IE适用这一属性

bug解决后的效果: