CSS高级教程 @规则

原创 2007年10月08日 10:16:00
at(@)规则把CSS规则都注入了一个压缩胶囊中,并且应用到指定的某些事物中。喔。
导入
导入import at规则将吞入另外的样式表。比如,如果你需要把另外的样式表的样式添加到现有的,你可以这样做:
@import url(addonstyles.css);
这经常用来取代连接CSS到HTML中的<link>标签,本质上就是一个内部样式表的形式,看起来像这样:
<style type="text/css" media="all">@import url(monkey.css);</style>
这样做的好处是,一些老浏览器如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规则很难在任何浏览器上工作,你可能在浪费时间在阅读这些东西上面。

相关文章推荐

绕过XSS过滤规则 : Web渗透测试高级XSS教程

相信大家在做渗透测试的时候都有过这样的经历,明明一个XSS的漏洞,但是却有XSS过滤规则或者WAF保护导致我们不能成功利用,比如我们输入alert("hi"),会被转换为alert(>xss dete...
  • xysoul
  • xysoul
  • 2015年04月17日 20:10
  • 909

[转]Discuz-x系列教程: DX的css命名规则、缓存、加载机制 BY:cr180

本帖最后由 cr180 于 2010-11-19 09:46 编辑 DISCUZ-x版本中,对css的处理较之前的版本更加智能化了,为了让更多的同学有个充分的理解,特把【黎明】的资料整理一下...

CSS高级教程

CSS 定位 (Positioning)实例:  定位:相对定位 本例演示如何相对于其正常位置来定位元素。 h2.pos_left{ position:relative; ...

CSS高级学习教程

  • 2014年09月11日 15:27
  • 1.13MB
  • 下载

CSS Web设计高级教程 第2版.part5

  • 2011年08月16日 17:02
  • 14.5MB
  • 下载

DIV+CSS高级:CSS滤镜Filter教程

CSS滤镜是什么 CSS滤镜是对常规的CSS的一个扩展子集,可以使应用对象(文字,图片,HTML元素...)产生类似于PHOTOSHOP中的模糊,通透,边缘发光等效果。合理的使用CSS滤镜,可以...

25个高级CSS技巧教程

  • 2011年12月22日 01:46
  • 418KB
  • 下载

CSS Web设计高级教程 第2版.part4

  • 2011年08月16日 16:58
  • 14.5MB
  • 下载

elasticsearch高级配置之分片分布规则设置

Java代码   cluster.routing.allocation.allow_rebalance   设置根据集群中机器的状态来重新分配分片,可以设置为always, i...
  • xtjsxtj
  • xtjsxtj
  • 2016年01月13日 14:31
  • 3385
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:CSS高级教程 @规则
举报原因:
原因补充:

(最多只允许输入30个字)