悠悠楠杉
CSS用@media媒体查询进行响应式设计,什么是媒体查询
随着互联网的发展,各种智能手机,平板这些移动设备随处可见。那如何让我们的网站在各种移动端设备上都能合理布局呢? 为每一个设备写一套代码麻烦且工作量大。那么聪明的程序员们会用一套代码,就能让网站在不同大小的设备上合理显示。因此,响应式设计模型就产生了,其核心就是“媒体查询”。
一、什么是媒体查询
媒体查询可以让我们根据设备显示器的特性(如视口宽度、屏幕比例、设备方向:横向或纵向)为其设定CSS样式,媒体查询由媒体类型和一个或多个检测媒体特性的条件表达式组成。媒体查询中可用于检测的媒体特性有 width 、 height 和 color (等)。使用媒体查询,可以在不改变页面内容的情况下,为特定的一些输出设备定制显示效果。
使用 @media 查询,你可以针对不同的媒体类型定义不同的样式。@media 可以针对不同的屏幕尺寸设置不同的样式,特别是如果你需要设置设计响应式的页面,@media 是非常有用的。当你重置浏览器大小的过程中,页面也会根据浏览器的宽度和高度重新渲染页面。
二、@media 媒体查询的使用
a.要在html文档中添加以下代码,用来兼容移动设备的显示效果
<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no"/>
width=device-width:宽度等于当前设备的宽度
initial-scale=1:初始的缩放比例(默认为1)
maximum-scale=1:允许用户缩放到得最大比例(默认为1)
user-scalable=no:用户不能手动缩放
b.在CSS文件中写响应式媒体查询
基本语法:@media 媒体类型 and (媒体特征){样式}
举例1:
@media screen and (max-width:480px){
body {
background:red
}
}
表示:当屏幕小于或等于480px时,页面中的背景颜色变成红色。
举例2:
@media screen and (min-width:900px){
body{
font-size:20px
}
}
表示:当屏幕大于或等于900px时,页面中的字体大小变成20px。
举例3:
@media screen and (min-width:600px) and (max-width:900px){
body {background-color:#f5f5f5;}
}
表示:当屏幕在600px~900px之间时,body的背景色为“#f5f5f5”。
综合:
/* 小于300 */
@media screen and (max-width:300px) {
html,body {
font-size:0.58rem;
}
}/* 大于301 小于350 */
@media screen and (min-width:301px) and (max-width:350px) {
html,body {
font-size:0.6rem;
}
}/* 大于351 小于420 */
@media screen and (min-width:351px) and (max-width:420px) {
html,body {
font-size:0.7rem;
}
}/* 大于421 小于490 */
@media screen and (min-width:421px) and (max-width:490px) {
html,body {
font-size:0.9rem;
}
}/* 大于491 小于620 */
@media screen and (min-width:491px) and (max-width:620px) {
html,body {
font-size:1rem;
}
}/* 大于621 小于720 */
@media screen and (min-width:621px) and (max-width:720px) {
html,body {
font-size:1.2rem;
}
}/* 大于721 小于820 */
@media screen and (min-width:721px) and (max-width:820px) {
html,body {
font-size:1.4rem;
}
}/* 大于821 小于920 */
@media screen and (min-width:821px) and (max-width:920px) {
html,body {
font-size:1.6rem;
}
}/* 大于921 小于1020 */
@media screen and (min-width:921px) and (max-width:1020px) {
html,body {
font-size:1.8rem;
}
}/* 大于1021 小于1120 */
@media screen and (min-width:1021px) and (max-width:1120px) {
html,body {
font-size:2rem;
}
}/* 大于1121 小于1220 */
@media screen and (min-width:1121px) and (max-width:1220px) {
html,body {
font-size:2.2rem;
}
}/* 大于1221 小于1320 */
@media screen and (min-width:1221px) and (max-width:1320px) {
html,body {
font-size:2.4rem;
}
}/* 大于1321 小于1420 */
@media screen and (min-width:1321px) and (max-width:1420px) {
html,body {
font-size:2.6rem;
}
}/* 大于1421 小于1520 */
@media screen and (min-width:1421px) and (max-width:1520px) {
html,body {
font-size:2.8rem;
}
}/* 大于1521 小于1620 */
@media screen and (min-width:1521px) and (max-width:1620px) {
html,body {
font-size:3rem;
}
}
bootstrap常规
/* 超小屏幕(手机,小于 768px) */
@media (max-width: 768px) {
}
/* 小屏幕(平板,大于等于 768px) */
@media (min-width: 768px) and (max-width: 992px) {
}
/* 中等屏幕(桌面显示器,大于等于 992px) */
@media (min-width: 992px) and (max-width: 1200px) {
}
/* 大屏幕(大桌面显示器,大于等于 1200px) */
@media (min-width: 1200px) {
}