At-rules分裝不同的CSS規則,應用在特定場合。
Importing import@規則引用另外的樣式。例如,如果你想添加另外樣式到現在的樣式,可以這樣:
@import url(addonstyles.css);
這很像使用link元素連接CSS到HTML,本質上說有一個內容樣式像下面:
<style type="text/css" media="all">@import url(monkey.css);</style>
這是為了照顧老版本瀏覽器,比如Netscape4不支持@規則所以不能鏈接樣式表,已經構建好標簽的HTML頁面會失去樣式表提供的功能。
Media types media@規則應用內容使用特定媒體,比如打印,例如:
@media print {
body {
font-size: 10pt;
font-family: times new roman, times, serif;
}
#navigation {
display: none;
}
}
媒體形式:
all,所有媒體。
aural,言語合成器。
handheld,移動設備
print,打印
projection,投影
screen,電腦屏幕
你還可以使用braille,embossed,tty或者tv。
注意:說了這么多,IE只支持all,screen和print。
Charachter sets 字符設定 charset@規則簡單設定外部樣式里的編碼。它出現在樣式的最上面例如@charset "ISO-8859-1";
Font faces 字體外觀 font-face@規則用來詳細描述字體,可以在CSS里嵌入外部字體。
它需要font-family描述符引用字體,它的值可以是字體的名稱或是新命名一個。嵌入一個字體,使用src描述符。其他添加到font-face@規則里的描述符將影響正在使用的內含字體,例如如果你添加font-weight: bold粗體到@規則,font-family的src只能運用到帶有font-family屬性的選擇器里,而且選擇器里font-weight屬性同樣設置成bold。
看下面例子:
@font-face {
font-family: somerandomfontname;
src: url(somefont.eot);
font-weight: bold;
}
p {
font-family: somerandomfontname;
font-weight: bold;
}
如上面的例子,段落里的字體將是somefont的字體(如果p選擇器沒有font-weight: bold,那字體就不是somefont)
嵌入字體還湊合著用,因為Mozilla瀏覽器不支持也沒有計劃添加這個功能。只有IE有分寸的支持,但這也不是說可以直接使用,IE瀏覽器嵌入字體,你還需要微軟WEFT軟件,它提供Truetype字體轉換成壓縮的OpenType字體(只有這個你才能使用URI指定)。由于這個限制(顯得非常復雜)兼容性,最好不要使用系統沒有的字體。
Pages page@規則服務頁面媒體,是個高級方式應用于打印媒體樣式。它定義了頁面塊,在盒模型上擴展,所以你可以定義單一頁面的大小和表現。
應用page@規則有許多規定,比如沒有padding和border,而且也不上我們說的電腦屏幕,所以pixels和ems單位不被允許使用。
有許多特定屬性可以使用,比如size,可以設定portrait縱向,landscape橫向,auto自動或長度。marks屬性可以用來定義裁剪標志
@page {
size: 15cm 20cm;
margin: 3cm;
marks: cross;
}
頁面媒體里的偽標簽 有三種偽標簽用來鏈接特定page@規則,如下形式:@page :pseudo-class {stuff}。
:first應用到頁面媒體里的第一頁
:left和:right應用到左邊和左邊頁面。這可能用在指定有非常大margin的左邊頁面和有非常大margin的右邊頁面。
還有一些頁面@規則,比如page-breaks頁面中斷和named pages頁面命名,但這些@規則在瀏覽器里很難工作,你也許浪費了許多時間閱讀這篇文章,不過這些都是不錯的想法。