日期:2013-08-26  浏览次数:20994 次

  最近看过许多网友制造的SKIN的CSS文件,发现其中有着许多冗余的代码。下面我来跟大家引见一下,如何清除这些冗余的代码,让你的CSS文件愈加简约。

  一、margin、padding属性

  参照相关材料我们可以知道,margin和padding代表的意思分别是外部边距和内部填充距离,在许多网友的CSS中,关于这两个属性的冗余代码是出现得最多的。比如:margin:0px,大家可以查看一下本人的CSS文件中,能否许多的margin:0px,其中有的是不需求的,你可以尝试删除它,当然也并不是所有的margin:0px都没有用,相反,padding:0px也一样。

  另外,margin和padding中各项属性的顺序是:上右下左,你只需记住是顺时针方向就好了。我们再看看这两段代码:

margin:0px 0px 0px 10px;
margin-left:10px;

  其实他们的作用是一样的,下面的则是一种缩写,使用缩写我们可以减少CSS代码,并使阅读起来更为方便。(padding也相反。)

  二、!important;属性

  !important是CSS1就定义的语法,作用是提高指定款式规则的使用优先权。IE是不支持这个语法的,而其他的浏览器都支持,通过这一点,我们可以得知,设置了优先权的代码是不会被IE执行的。所以我们可以important的后面添加CSS款式,使其可以区别于IE和FireFox等浏览器。

  上次在看Miles的CSS代码时,我看到了这样一句:

height:50px !important;height:50px;

  这里就是多余的了,我们可以这样写:height:50px就够了,这个错误在我刚开始制造CSS时也曾出现过。

  三、text-align、font款式

  这两个款式的作用我就不说了,但是这两个款式在许多网友的CSS中也存在许多冗余。下面我来举例说明一下,层的定义如下:

<div id="main">
<div id="body1">
<div id="content1">
</div>
</div>
<div id="body2">
</div>
<div>

  CSS文件如下(错误示例):

#main{width:500px;text-algin:left;font-size:12px;color:#000000;}
#body1{width:500px;text-algin:center;font-size:12px;color:#FF0000;}
#content{text-algin:left;font-size:12px;color:#000000;}
#body2{text-algin:left;font-size:12px;color:#000000;}

  大家可以从上面的代码中轻易地看出,有许多的冗余代码,如今我们来书写正确的代码:

#main{width:500px;text-algin:left;font-size:12px;color:#000000;}
#body1{text-algin:center;color:#FF0000;}
#content{width:300px;text-algin:left;color:#000000;}
#body2{}

  以上就是正确的代码,由于大家在制造SKIN时,对PJBLOG的DIV结构没搞清楚,才会出现这种错误。

  四、display:none的使用

  display:none的作用就是使被定义的层不显示。我们再来看看这段代码:

#blogTitle{font-size:0px;margin:10px 3px 3px 40px;height:20px;color:#FFC1E6;display:none}

  大家有没有觉得这有些多余呢,是的,既然设置了不显示,为何还要保留那些不必要的款式呢?出现这种情况我就知道,这个SKIN是改自某人的。

  五、还是margin和padding

  我还是通过例子来给大家说明,层的定义同上,以下是CSS的定义(错误示例):

#main{margin:5px 0px 5px 0px;}
#body1{margin:12px 0px 10px 0px;}
#content{margin:8px 0px 2px 0px;}
#body2{margin:10px 0px 15px 0px;}

  如今我们再来书写正确的款式:

#main{}
#body1{margin-top:17px ;}
#content{margin:8px 0px 2px 0px;}
#body2{margin:20px 0px ;}

  这里需求大家制造一下示例才能了解,首先#main{margin:5px 0px 5px 0px;}是没有必要的,他无非定义的就是整个页面的上、下外边距。(在一定场合下却需求这样书写)我们同样可以通过定义#body1的上边距和#body2的下边距来设置,所以才有了#body1{margin-top:17px ;}和#body2{margin:20px 0px ;}(这里定义的是#body2的上下边距为20px,左左边距为0px,也是缩写的一种方式。)

  同样的道理,于是我们可以省略了#body1的下边距,在#content层在定义上边距,另外大家还需求先弄清楚层的嵌套关系,否则就会出错。