id
、class
选择器添加类型选择器进行限定。示例:
/* recommended */
#error,
.danger-message {
font-color: #c00;
}
/* not recommended */
dialog#error,
p.danger-message {
font-color: #c00;
}
[class^="..."]
)。浏览器的性能会受到这些因素的影响。示例:
/* recommended */
#username input {}
.comment .avatar {}
/* not recommended */
.page .header .login #username input {}
.comment div * {}
常见的缩写属性声明有:
margin
padding
font
background
border
border-radius
示例:
说明:
若元素只需要设置上、右内边距,则只写这两个属性
/* recommended */
.element {
padding-top: 10px;
padding-right: 10px;
margin-bottom: 20px;
margin-left: auto;
margin-right: auto;
}
/* not recommended */
.element {
padding: 10px 10px 0 0;
margin: 0 auto 20px;
}
示例:
说明:
background中没有特别指定其缩写对应的background-color值,在这种情况下其默认值会覆盖声明在前的background-color
background-color: red;
background: url(images/bg.gif) no-repeat top right;
padding
、margin
、border-radius
、border-width
),则需要留意其顺序,若为不同类值(例如font
、background
、border
),各值顺序不做硬性要求,但最好遵行一致的顺序示例:
/* clockwise direction: top, right, left, bottom (TRLB, consonant of the word trouble) */
padding: 1px 2px 3px 4px;
/* vertial, horizontal */
border-width: 1em 2em;
/* background 全称属性声明顺序 */
background-color: #000;
background-image: url(images/bg.gif);
background-repeat: no-repeat;
background-position: top right;
/* background 缩写属性也遵行以上顺序 */
background: #000 url(images/bg.gif) no-repeat top right;
/* font 全称属性声明顺序 */
font-style: italic;
font-weight: bold;
font-size: .8em;
line-height: 1.2;
font-family: Arial, sans-serif;
/* font 缩写属性也遵行以上顺序 */
font: italic bold .8em/1.2 Arial, sans-serif;
/* border 全称属性声明顺序 */
border-width: 1px;
border-style: solid;
border-color: #000;
/* border 缩写属性也遵行以上顺序 */
border: 1px solid #000;
.declaration-order {
/* Positioning */
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: 100;
/* Box-model */
display: block;
float: right;
width: 100px;
height: 100px;
/* Typography */
font: normal 13px "Helvetica Neue", sans-serif;
line-height: 1.5;
color: #333;
text-align: center;
/* Visual */
background-color: #f5f5f5;
border: 1px solid #e5e5e5;
border-radius: 3px;
/* Misc */
opacity: 1;
}