<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; width:100%;}
}
@media print
{
body{ font:14px; width:595px;} /* 用于打印时将宽度设置为595px(A4) */
}
以上media标签是css中的标准语法,所有浏览器都支持media标签,但下面的写法出IE6\7\8 以为的浏览器都支持
CSS代码
@media all and (min-width: 1001px) {
#sidebar ul li a:after {
content: " (" attr(data-email) ")";
font-size: 11px;
font-style: italic;
color: #666;
}
}
@media all and (max-width: 1000px) and (min-width: 700px) {
#sidebar ul li a:before {
content: "Email: ";
font-style: italic;
color: #666;
}
}
@media all and (max-width: 699px) and (min-width: 520px), (min-width: 1151px) {
#sidebar ul li a {
padding-left: 21px;
background: url(../images/email.png) left center no-repeat;
}
}
@media print {
color: red;
}
/* 手机等 小屏幕手持设备 */
@media screen and (min-width: 320px) and (max-width: 480px) {
body {
background: yellow;
}
}
/* 平板之类的宽度 1024 以下设备 */
@media only screen and (min-width: 321px) and (max-width: 1024px) {
body {
background: blue;
}
}
/* PC客户端或大屏幕设备: 1028px 至更大 */
@media only screen and (min-width: 1029px) {
body {
background: green;
}
}
/* 竖屏 */
@media screen and (orientation:portrait) and (max-width: 720px) {对应样式}
/* 横屏 */
@media screen and (orientation:landscape){对应样式}