媒体类型:css
all (默认值)html
screen web
print 打印设备bootstrap
speech 屏幕阅读器flex
因为all是默认值可不写,所以如下两种写法效果相同spa
@media all and (min-width:900px){ } @media (min-width:900px){ }
媒体查询中的逻辑scala
与 或 非code
@media (min-width:900px) and (max-width:1024px){
}
媒体特征表达式htm
width / max-width / min-witdhblog
-webkit-device-pixel-ratio / -webkit-max-device-pixel-ratio / -webkit-min-device-pixel-ratio
orientation: landscape / portrait 横屏 / 竖屏
媒体查询-策略
移动端断点(参考bootstrap)
xs <576px 1
sm 576~768px 2
md 768~992px 4
lg 992~1200px 6
xl >1200px 12
后面的条件知足时,会覆盖前面的条件
PC first
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no,maximum-scale=1,minimum-scale=1"> <title>Document</title> <link rel="stylesheet" href="font/iconfont.css"> <style> *{margin:0;padding:0;box-sizing:border-box;} img{width:100%;} .row{width:100%;display: flex;flex-wrap:wrap;} /*pc first*/ .col{width:8.33%;} @media (max-width:1200px){ .col{width:16.67%;} } @media (max-width:992px){ .col{width:25%;} } @media (max-width:768px){ .col{width:50%;} } @media (max-width:576px){ .col{width:100%;} } </style> </head> <body> <div class="row"> <div class="col"> <img src="img/cyy.jpg"> </div> <div class="col"> <img src="img/cyy.jpg"> </div> <div class="col"> <img src="img/cyy.jpg"> </div> <div class="col"> <img src="img/cyy.jpg"> </div> <div class="col"> <img src="img/cyy.jpg"> </div> <div class="col"> <img src="img/cyy.jpg"> </div> <div class="col"> <img src="img/cyy.jpg"> </div> <div class="col"> <img src="img/cyy.jpg"> </div> <div class="col"> <img src="img/cyy.jpg"> </div> <div class="col"> <img src="img/cyy.jpg"> </div> <div class="col"> <img src="img/cyy.jpg"> </div> <div class="col"> <img src="img/cyy.jpg"> </div> </div> </body> </html>
mobile first
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no,maximum-scale=1,minimum-scale=1"> <title>Document</title> <link rel="stylesheet" href="font/iconfont.css"> <style> *{margin:0;padding:0;box-sizing:border-box;} img{width:100%;} .row{width:100%;display: flex;flex-wrap:wrap;} /*mobile first*/ .col{width:100%;} @media (min-width:576px){ .col{width:50%;} } @media (min-width:768px){ .col{width:25%;} } @media (min-width:992px){ .col{width:16.67%;} } @media (min-width:1200px){ .col{width:8.33%;} } </style> </head> <body> <div class="row"> <div class="col"> <img src="img/cyy.jpg"> </div> <div class="col"> <img src="img/cyy.jpg"> </div> <div class="col"> <img src="img/cyy.jpg"> </div> <div class="col"> <img src="img/cyy.jpg"> </div> <div class="col"> <img src="img/cyy.jpg"> </div> <div class="col"> <img src="img/cyy.jpg"> </div> <div class="col"> <img src="img/cyy.jpg"> </div> <div class="col"> <img src="img/cyy.jpg"> </div> <div class="col"> <img src="img/cyy.jpg"> </div> <div class="col"> <img src="img/cyy.jpg"> </div> <div class="col"> <img src="img/cyy.jpg"> </div> <div class="col"> <img src="img/cyy.jpg"> </div> </div> </body> </html>
效果同上
通常建议mobile first (移动优先)