@media 规则在 CSS2 中有介绍,针对不同媒体类型可以定制不同的样式规则。
例如:你可以针对不同的媒体类型(包括显示器、便携设备、电视机,等等)设置不同的样式规则。
- 在内部执行
通过@media可以针对不同屏幕大小定义不同样式的网页,页面会根据浏览器 长宽 来渲染页面。
首先我们在使用Media的时候需要先设置下面这段代码,来兼容移动设备的展示效果:
<meta name="viewport" content="width=device-width, initial-scale=1.0,minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
这段代码的几个参数解释:
- **width = device-width:**宽度等于当前设备的宽度
- **initial-scale:**初始的缩放比例(默认设置为1.0)
- **minimum-scale:**允许用户缩放到的最小比例(默认设置为1.0)
- **maximum-scale:**允许用户缩放到的最大比例(默认设置为1.0)
- **user-scalable:**用户是否可以手动缩放(默认设置为no,因为我们不希望用户放大缩小页面
实例1:当屏幕的可视窗口宽度小于等于480px时为lightgreen,当大于等于481px和小于等于900px时,为red。
body {
background-color: pink;
}
@media screen and (max-width: 480px) {
body {
background-color: lightgreen;
}
}
@media screen and (min-width:481px) and (max-width: 900px) {
body {
background-color: red;
}
}
- 在外部执行
<link rel="stylesheet" type="text/css" href="css/css1.css" media="screen and (min-width:901px)"/>
<link rel="stylesheet" type="text/css" href="css/css2.css" media="screen and (min-width:580px) and (max-width:900px)" />