media query允许设计者在CSS样式中添加media query表达式,他们可以对媒体类型进行匹配 也可以对媒体分辨率 色深等各种细节进行匹配 所以可以针对不同类型,不同参数细节的媒体设备提供精确控制
语法格式
@media not|only 设备类型 [and 设备特性]*
在上面语法格式中,[ and 设备特性 ] 部分可以出现0~N次],通过使用多个[ and 设备特性 ]可以对多个设备特性进行匹配
设备类型 | 说明 |
---|---|
screen | 计算机屏幕 |
tty | 使用等宽字符的显示设备 |
tv | 电视机类型的显示设备(低分辨率、优先的滚屏能力) |
projection | 投影仪 |
handheld | 小型手持设备 |
打印界面或打印预览模式 | |
embossed | 盲文印刷 |
braille | 盲人点字法反馈设备 |
aural | 语音合成器 |
#一般使用都会填写screen,平常最多使用的电脑,手机,平板都对应screen
media query中的设备特性
<title>Document</title>
<style type="text/css">
#container{ <!--通用属性-->
text-align:center;
margin:auto;
width:750px;
}
#container>div{
border:1px solid #aaf;
text-align:left;
box-sizing:border-box;
border-radius:12px 12px 0px 0px ;
padding:5px;
}
div#left{
width:300px;
height:260px;
float:left;
}
div#main{
width:450px;
height:260px;
float:left;
clear:right;
}
div#right{ <!--通用属性结束-->
width:750px;
float:left;
}
@media screen and (min-width:1000px){ <!--当宽度大于1000px时-->
#container{
text-align:center;
margin:auto;
width:960px;
}
#container>div{
border:1px solid #aaf;
box-sizing:border-box;
border-radius:12px 12px 0px 0px ;
padding:5px;
}
div#left{
width:240px;
height:260px;
float:left;
}
div#main{
width:460px;
float:left;
height:260px;
clear:none;
}
div#right{
width:260px;
float:left;
height:260px;
}
} <!--宽度大于1000px的结束-->
@media screen and (max-width:480px){ <!--宽度小于480px时-->
#container{
text-align:center;
margin:auto;
width:450px;
}
#container>div{
border:1px solid #aaf;
box-sizing:border-box;
border-radius:12px 12px 0px 0px ;
padding:5px;
}
div#left{
width:450px;
height:150px;
float:left;
}
div#main{
width:450px;
float:left;
height:260px;
clear:both;
}
div#right{
width:450px;
float:left;
height:170px;
}
} <!--宽度小于480px的结束-->
</style>
</head>
<body>
<div id="container">
<div id="left">
<h2>请填写标题</h2>
请填写内容。。。。
</div>
<div id="main">
<h2>请填写标题</h2>
请填写内容。。。。
</div>
<div id="right">
<h2>请填写标题</h2>
请填写内容。。。。
</div>
</div>
</body>
</html>
大于1000px的布局
480px~1000px的布局
小于480px的布局
注意
在开发时 注意通过Firefox或者Google Chrome以及国内谷歌内核浏览器的F12(审查元素)功能
调出可控制网页尺寸的功能来进行检查
这就是响应式布局,设计多套样式分别匹配不同宽度浏览器,已对不同设备进行兼容
手机的响应式布局
各种手机各种品牌的手机多种多样,同时也分iOS和Android两种系统,所以一般的手机网页布局为了统一,宽度都被设计成了980px,在设计时,应当留意针对手机浏览器浏览的宽度设计。
要设置网页具有对手机的响应式布局,要在head标签中添加一段代码
<meta name="viewport" content="width=device-width, initial-scale=1.0">
上面首先设置了width=device-width,意为将浏览器宽度设置为与设备宽度一致,接下来设置了页面缩放比为1.0(initial-scale=1.0)。如果希望禁止用户对页面缩放,还可以在content属性值后添加user-scalable=no。