学习CSS小技巧:优化你的CSS代码

网络整理 - 07-26
最近看过许多网友制作的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层在定义上边距,另外大家还需要先弄清楚层的嵌套关系,否则就会出错。

  好了,写到这里我也该去睡了,以上就是这些时间查看大家的CSS文件获得的经验,希望对大家书写CSS的时候有所帮助,制作出来的SKIN更加简洁、明了。