常用的CSS缩写语法一些方法小结

作者:袖梨 2022-06-25

使用缩写可以帮助减少你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-
•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;

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">





注意,如果你缩写字体定义,至少要定义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。

 

相关文章

精彩推荐