at(@)规则把CSS规则都注入了一个压缩胶囊中,并且应用到指定的某些事物中。喔。
导入导入import at规则将吞入另外的样式表。比如,假如你需要把另外的样式表的样式添加到现有的,你可以这样做:
@import url(addonstyles.css);
这经常用来取代连接CSS到HTML中的<link>标签,本质上就是一个内部样式表的形式,看起来像这样:
Example Source Code
[www.21shipin.com]<style type=\"text/css\" media=\"all\">@import url(monkey.css);</style>
这样做的好处是,一些老浏览器如Netscape 4.x不接受at规则,进而不连接样式表,从而,假如你有良好结构的标记,只剩下朴素功能的HTML(尽管没有样式)。
媒体类型媒体media at规则将把内容应用到指定的媒体,比如打印。比如
Example Source Code
[www.21shipin.com]@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(电视)。
字符集字符集charset at规则设置一个外部样式的字符编码,它应该出现在样式的顶端,大致如此:@charset \"ISO-8859-1\";
字体外观字体外观font-face at规则用来具体描述一个能嵌入CSS的外部字体。
它必须一个font-family的字体可以参考的描述符,值可以是系统已经存在的字体名称(这种情况发生时会覆盖掉该字体),也可以是全新的名字。为了嵌入一个字体,需用使用src描述符。字体外观at规则的其他描述符是使用该字体的一些条件,比如,在at规则里面增加一条font-weight: bold样式,假如font-weight属性也设置了bold,font-family的src将应用该规则到带有font-family属性的选择符。
使用字体外形at规则看起来像这样:
Example Source Code
[www.21shipin.com]@font-face {
font-family: somerandomfontname; src: url(somefont.eot);
font-weight: bold;
}
p {
font-family: somerandomfontname;
font-weight: bold;
}
这将使somefont.eot这个字体应用到段落里(假如p选择符没有设置成font-weight: bold的话就不会)。
注重现在内嵌字体的支持度还算凑合。基于Mozilla的浏览器不支持,并且也没有最近的计划显示它会支持。仅Internet Explorer似有一定程度上的支持,但也没有直接得方法。为了在IE中嵌入字体,你需要使用微软的WEFT软件,它会把一个TrueType字体转换成一个压缩的OpenType字体(这也值嗯嗯在指定的URI上使用)。因为有限的(也相当复杂)的兼容性,最好不要使用没有适合的可替换系统字体的内嵌字体。
页面页面page at规则用于页式(分页)媒体,是一个把样式应用到打印媒体的先进方法。它定义页面块的盒状模型(见边界和补白)扩展因此你可以定义一个独立页面的尺寸和表现。
应用page at规则有许多约定,比如没有补白和边界,我们也没有谈论电脑屏幕──点(pixel)和em作为单位是不可以的。
可以使用很多指定属性,比如尺寸size,可以设置为portrait(竖排格式)、landscape(横排格式)、auto(自动)或者一个高度。marks属性也可以用来定义裁剪标志。
Example Source Code
[www.21shipin.com]@page {
size: 15cm 20cm;
margin: 3cm;
marks: cross;
}
页式媒体的伪类有三个伪类被用来指定与page at规则相结合,用如此形式:@page :pseudo-class { stuff }。
:first应用到页式媒体的第一页。
:left和:right分别用于左边和右边的页面。这可以用来指定左边或者右边页面一个更大的边界。
还有其他更多的小方面指定页面at规则,比如页面分隔符和命名页面,但鉴于这个at规则很难在任何浏览器上工作,你可能在浪费时间在阅读这些东西上面。虽然还有更妙的主意……