News新闻

业界新闻动态、技术前沿
Who are we?

您的位置:首页      DIV+CSS      常用的CSS缩写语法小结可帮助你减少CSS文件大小

常用的CSS缩写语法小结可帮助你减少CSS文件大小

发布日期:2014-02-22 00:00:00 374

使用缩写可以帮助减少你css文件的大小,更加容易阅读。css缩写的主要规则如下: 

  颜色 
  16进制的色彩值,如果每两位的值相同,可以缩写一半,例如: 

  #000000可以缩写为#000;#336699可以缩写为#369; 

  盒尺寸 
  通常有下面四种书写方法: 

•property:value1; 表示所有边都是一个值value1; 
•property:value1 value2; 表示top和bottom的值是value1,right和left的值是value2 
•property:value1 value2 value3; 表示top的值是value1,right和left的值是value2,bottom的值是value3 
•property:value1 value2 value3 value4; 四个值依次表示top,right,bottom,left 

方便的记忆方法是顺时针,上右下左。具体应用在margin和padding的例子如下: 

  margin:1em 0 2em 0.5em; 

  边框(border) 
  边框的属性如下: 

•border-width:1px; 
•border-style:solid; 
•border-color:#000; 
  可以缩写为一句:border:1px solid #000; 

  语法是border:width style color; 

  背景(Backgrounds) 
  背景的属性如下: 

•background-color:#f00; 
•background-image:url(background.gif); 
•background-repeat:no-repeat; 
•background-attachment:fixed; 
•background-position:0 0; 

可以缩写为一句:background:#f00 url(background.gif) no-repeat fixed 0 0; 

语法是background:color image repeat attachment position; 

你可以省略其中一个或多个属性值,如果省略,该属性值将用浏览器默认值,默认值为: 

•color: transparent 
•image: none 
•repeat: repeat 
•attachment: scroll 
•position: 0% 0% 
  字体(fonts) 
  字体的属性如下: 

•font-style:italic; 
•font-variant:small-caps; 
•font-weight:bold; 
•font-size:1em; 
•line-height:140%; 
•font-family:"Lucida Grande",sans-serif; 

可以缩写为一句:font:italic small-caps bold 1em/140% "Lucida Grande",sans-serif; 

font的缩写,如果省略family, 
如这样子: 
font:700 14px/22px; 
则在Firefox下是不生效的 
完整的写法是:font:700 14px/22px arial; 
 

复制代码
代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<style> www.111cn.net 
.login_top{height:26px;font:bold 14px/26px "宋体"; border:1px solid #000} 
.login_top2{height:26px; line-height:26px; font-weight:bold;font-size:14px;border:1px
solid #000; font-family:'宋体'} 
</style> 
<div class="login_top">我垂直不居中</div> 
<br/ > 
<div class="login_top2">我垂直居中</div> 


注意,如果你缩写字体定义,至少要定义font-size和font-family两个值。 

  列表(lists) 
  取消默认的圆点和序号可以这样写list-style:none;, 

  list的属性如下: 

•list-style-type:square; 
•list-style-position:inside; 
•list-style-image:url(image.gif); 
  可以缩写为一句:list-style:square inside url(image.gif); 

outline 

outline类似border,不同的是border会影响盒模型,而outline不会。 

outline-width:数字+单位; 
outline-style: none || dashed || dotted || double || groove || inset || outset || ridge || solid ; 
outline-color: 颜色 ; 

属性值为0书写原则是如果CSS属性值为0,那么你不必为其添加单位(如:px/em),你可能会这样写: 

关于四个边的特别说明 
关于四边,有很多样式都涉及到了四边(上下左右)的问题,我这里统一说明一下。 

以padding属于为例,四边的简写如下: 

padding:4px 6px 3px 4px; 

它等效于: 
 

复制代码
代码如下:

padding-top:1px; 
padding-right:2px; 
padding-bottom:3px; 
padding-left:4px; 


其顺序为: 

top | right | bottom | left 

不论是边框宽度,还是边框颜色、边距等,只要css样式涉及四边,顺序通通都是“上右下左”(顺时针方向)。 

如果四边的值省略一个,只写三个,即: 

padding:1px 2px 3px; 

则它等效于: 
 

复制代码
代码如下:

padding-top:1px; 
padding-right:2px; 
padding-bottom:3px; 
padding-left:2px; 


即省略的“左”值等于“右”。 

如果四边的值省略两个: 

padding:5px 10px; 

它等效于: 
 

复制代码
代码如下:

padding-top:5px; 
padding-right:10px; 
padding-bottom:5px; 
padding-left:5px; 


也就是说,当只有2个值的时候,上下2边等于第一个值,左右2边等于第二个值,即省略的“下”值等于“上”。 

如果只有一个值: 

padding:3px; 

它等效于: 
 

复制代码
代码如下:

padding-top:3px; 
padding-right:3px; 
padding-bottom:3px; 
padding-left:3px; 


这种情况下,上下左右4条边都等同于同一个值! 

Margin(外边距/空白边)声明CSS magin值得时候通常会写成这样: 
 

复制代码
代码如下:

margin-top:0px; 
margin-right:10px; 
margin-bottom:0px; 
margin-left:10px; 


让我们试试把值为0的单位去掉,并把4条声明合并成一条声明: 

margin:0 10px 0 10px; 

当你生命padding、margin、border(还有一些其他属性)时,记得要把按照顺时针的方向来声明属性值,也就是按照上-右-下-左的方向。关于这些属性还有另一个更加简单的写法,看看属性中上和下、左和右是否值是相等的,如果是那么就可以进一步优化了,你可以省略掉后两个值,剩下的两个值前者指上下,后者指左右: 

margin:0 10px; 

它是指左右的值为10px,上下的值为0; 

移除选择器  选择器是你在为一些元素应用CSS样式时的基本方法,比如h1, h2, h2, div, strong, pre, ul, ol等等…如果你使用了class(.类名)或ID(#id名),那么就不用再在声明CSS时包含选择器了。 

div#logowrap 

尝试扔掉多余的选择器吧: 

#logowrap 

在这个例子中所谓的那个选择器就是div 

*总爱和你开玩笑  要明智的使用*而避免它在整个CSS样式表中乱开玩笑,*是个通配符,你可以使用它来为你的设计部分或全部进行一系列CSS声明。例如: 
 

复制代码
代码如下:


margin: 0; 


这个声明会将所有元素的margin值设置为0,同样的,为了严谨起见,你可以尝试这样设置: 
 

复制代码
代码如下:

#menu * { 
margin: 0; 


这样的声明是指将#menu下的所有元素的margin设为0。