CSS3的媒体查询@media
通过@media可以针对不同屏幕大小定义不同样式的网页,页面会根据浏览器长宽来渲染页面。
语法:
@media mediaType and|not|only (media feature) {
/*CSS-Code;*/
}
and|not|only:and放在mediaType后,连接属性,代表将多个media feature结合在一起;
not否定,放在@media后,代表对该条信息取反;
only代表仅仅,一般放在@media后,例如:@media only screen,代表仅仅针对彩色屏幕有效;
mediaType:媒体类型,:all所有屏幕;screen 用于电脑屏幕,平板电脑,智能手机等;print 用于打印机和打印预览;speech 应用于屏幕阅读器等发声设备
media feature:媒体功能,max-width:页面最大宽度,min-width:页面最小宽度
在使用媒体查询前面,首先要设置meta标签,其次要加载兼容文件js,设置ie渲染为最高;
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">
注意:
1. 一般引入第一条meta
标签就可以使用
2. and|not|only (media feature)
注意啦and
和(media feature)
之间有一个空格!!!
常用电脑屏幕使用宽度
1024 1280 1366 1440 1680 1920
一
用min-width时,小的放上面大的在下面
/*>=1024的设备*/
@media (min-width: 1024px){
body{font-size: 18px}
}
/*>=1280的设备*/
@media (min-width: 1280px) {
body{font-size: 20px;}
}
/*>=1366的设备*/
@media (min-width: 1366px) {
body{font-size: 24px;}
}
/*>=1440的设备*/
@media (min-width: 1440px) {
body{font-size: 26px;}
}
/*>=1680的设备*/
@media (min-width: 1680px) {
body{font-size: 28px;}
}
/*>=1920的设备*/
@media (min-width: 1920px) {
body{font-size: 30px;}
}
二
用max-width那么就是大的在上面,小的在下面
body {
background-color: #0033ff;
}
@media (max-width: 1680px) {
body {
background-color: #ff6699;
}
}
@media (max-width: 1440px) {
body {
background-color: #00ff66;
}
}
@media (max-width: 1360px) {
body {
background-color: #6633ff;
}
}
@media (max-width: 1280px) {
body {
background-color: #ffff00;
}
}
三
同时使用min-width 和 max-width
@media (max-width: 1280px) {
body {
background: pink;
}
}
@media (min-width: 1281px) and (max-width: 1366px) {
body {
background: red;
}
}
@media (min-width: 1367px) and (max-width: 1440px) {
body {
background: yellow;
}
}
@media (min-width: 1441px) {
body {
background: green;
}
}