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

CSS @import at规则

at规则
HTMLDog指南 > CSS高级指南 > at规则

at(@)规则把CSS规则都注入了一个压缩胶囊中,并且应用到指定的某些事物中。喔。

导入
导入import at规则将吞入另外的样式表。比如,如果你需要把另外的样式表的样式添加到现有的,你可以这样做:

@import url(addonstyles.css);
这经常用来取代连接CSS到HTML中的标签,本质上就是一个内部样式表的形式,看起来像这样:
@import url(monkey.css);

这样做的好处是,一些老浏览器如Netscape 4.x不接受at规则,进而不连接样式表,从而,如果你有良好结构的标记,只剩下朴素功能的HTML(尽管没有样式)。

媒体类型
媒体media at规则将把内容应用到指定的媒体,比如打印。比如

@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规则看起来像这样:
@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属性也可以用来定义裁剪标志。

@page { size: 15cm 20cm; margin: 3cm; marks: cross; }

页式媒体的伪类
有三个伪类被用来指定与page at规则相结合,用如此形式:@page :pseudo-class { stuff }。

:first应用到页式媒体的第一页。

:left和:right分别用于左边和右边的页面。这可以用来指定左边或者右边页面一个更大的边界。

还有其他更多的小方面指定页面at规则,比如页面分隔符和命名页面,但鉴于这个at规则很难在任何浏览器上工作,你可能在浪费时间在阅读这些东西上面。虽然还有更妙的主意……