使用 @media 查询,你可以针对不同的媒体类型定义不同的样式。当你重置浏览器大小的过程中,页面也会根据浏览器的宽度和高度重新渲染页面。
@media 可以针对不同的屏幕尺寸设置不同的样式,特别是如果你需要设置设计响应式的页面,@media 是非常有用的。
2.@media与@media screen区别
@media screen的css在打印设备里是无效的,而@media在打印设备里是有效的,如果css需要用在打印设备里,那么就用@media ,否则,就用@media screen。
不过这只是笼统的做法,其实如果把“screen”换为“print”,写为@media print,那么该css就可用到打印设备上了,但要注意,@media print声明的css只能在打印设备上有效
3.Media Queries工作方式:
在media属性里:
screen 只是媒体类型里的一种,其中常用的有:
(1)all——用于所有设备 (2)print —— 用于打印机和打印预览 (3)screen——用于电脑屏幕,平板电脑,智能手机等。 (4)speech——应用于屏幕阅读器等发声设备
and 被称为关键字,其他关键字还包括 not(排除某种设备),only(限定某种设备)
(min-width: 400px) 就是媒体特性,其被放置在一对圆括号中。完整的特性参看 相关的Media features部分
当屏幕的宽度大于等于400px的时候,应用 A.css
当屏幕的宽度大于600小于800px时,应用B.css
@media screen and (max-width: 600px) {
body { background: #ccc;
}
}4.Media使用说明举例4.1前端响应式布局最出名的框架莫过于 Bootstrap
1.png
4.2自适应代码
@media (min-width: @screen-lg-min) { ... }
@media (min-width: 768px){ //>=768的设备 }
@media (min-width: 992px){ //>=992的设备 }
@media (min-width: 1200){ //>=1200的设备 }
注意下顺序,如果你把@media (min-width: 768px)写在了下面那么就是错误的!因为如果是1440,由于1440>768那么你的1200就会失效。
划重点
用min-width时,小的放上面大的在下面,同理如果是用max-width那么就是大的在上面,小的在下面
@media screen and (min-width:1200px){}
@media screen and (min-width: 960px) and (max-width: 1199px) { }
@media screen and (min-width: 768px) and (max-width: 959px) { }
@media only screen and (min-width: 480px) and (max-width: 767px){ }
@media only screen and (max-width: 479px) { }
参考
利用@media与@media screen进行响应式布局
作者:pattyzzh
链接:https://www.jianshu.com/p/19724be4b344



