在css中我们使用media标签来区分调用哪个css样式,比如使用media="print"来表示当执行打印文档时,使用print.css样式。这样使得文档更有得于打印,如将页面宽度增宽、或屏蔽掉一些不需要打印的内容。
<link href="styles/main.css" rel="stylesheet" type="text/css" media="screen" />
<link href="styles/print.css" rel="stylesheet" type="text/css" media="print" />
<link href="main.css" rel="stylesheet" type="text/css" media="all'/>
下边是media标签的10个值,可见常用的并不多。当没有media标签时,默认为media="all"。
- all-- 用于所有设备类型
- aural-- 用于语音和音乐合成器
- braille-- 用于触觉反馈设备
- embossed-- 用于凸点字符(盲文)印刷设备
- handheld-- 用于小型或手提设备
- print-- 用于打印机
- projection-- 用于投影图像,如幻灯片
- screen-- 用于计算机显示器
- tty-- 用于使用固定间距字符格的设备。如电传打字机和终端
- tv-- 用于电视类设备
在上边引用css样式时,我们引用了两次。我们完全可以引用一个css样式来达到我们的目的,这样也可以提高css样式加载速度,实现代码如下:
/* 所有media标签 */
CSS代码
@media all {
body{ font:12px; 100%;}
}
@media print
{
body{ font:14px; 595px;} /* 用于打印时将宽度设置为595px(A4) */
}
以上media标签是css中的标准语法,所有浏览器都支持media标签,但下面的写法出IE678 以为的浏览器都支持
CSS代码
@media all and (min- 1001px) {
#sidebar ul li a:after {
content: " (" attr(data-email) ")";
font-size: 11px;
font-style: italic;
color: #666;
}
}
@media all and (max- 1000px) and (min- 700px) {
#sidebar ul li a:before {
content: "Email: ";
font-style: italic;
color: #666;
}
}
@media all and (max- 699px) and (min- 520px), (min- 1151px) {
#sidebar ul li a {
padding-left: 21px;
background: url(../images/email.png) left center no-repeat;
}
}