日期:2014-05-17  浏览次数:20811 次

CSS语法简单入门

?

整体组成

在CSS中,顶层元素被称为Rule,而CSS中的Rule又分为2类:CSSStyleRule和CSSAtKeywordRule。

CSSStyleRule是最基本的,即我们最常见的,由选择器+属性+值组成的部分,以下就是一个简单的示例:

#nav>li~li {
    float: left;
    margin-left: 7px;
    padding-left: 7px;
    border-left: 1px solid blue;
}

而CSSAtKeywordRule则是另一类,这个名词是我起的,事实上在w3c给出的JAVA API中,他被分成很多个类:

  • CSSCharsetRule?– 代表@charset。
  • CSSFontFaceRule?– 代表@font-face。
  • CSSImportRule?– 代表@import。
  • CSSMediaRule?– 代表@media。
  • CSSPageRule?– 代表@page。
  • CSS3又加了一个CSSAtNamespaceRule,但是由于针对CSS3的w3c JAVA API还未完成,这里没有相关的页面,其代表的是@namespace。

一目了然,所谓CSSAtKeywordRule,就是以@起始的那一批关键字类型的规则,CSS3一共就规定了以上6个,不多不少。

除了CSSStyleRule和CSSAtKeywordRule以外的,所有不能正确解释的,统统被称为CSSUnknownRule,这个自然没有太大的意义,就不详细说明。

元素顺序

CSS对元素的顺序没有太大的要求,多数位置可以出现在任意位置,出现任意的次数,除了2个特例:

  • @charset只能出现在文档头部,前面不能有任何字符。
  • @import必须出现在@charset(如果有的话)之后,其他规则之前,当然可以有多个。
  • @import不能出现在大括号之间(语法上称为block内部)。

因此一个CSS文档的顺序基本是这样的:

  1. @charset声明。