CSS媒体查询语法概论

1. 媒体查询语法

<!-- link元素中的CSS媒体查询 -->
<link rel="stylesheet" media="(max-width: 800px)" href="example.css" />

<!-- 样式表中的CSS媒体查询 -->
<style>
@media (max-width: 600px) {
  #con{
    width: 100px;
  }
}
</style>

/* 超小屏幕(手机,小于 768px) */
/* 没有任何媒体查询相关的代码,因为这在 Bootstrap 中是默认的) */

/* 小屏幕(平板,大于等于 768px) */
@media (min-width: @screen-sm-min) { ... }

/* 中等屏幕(桌面显示器,大于等于 992px) */
@media (min-width: @screen-md-min) { ... }

/* 大屏幕(大桌面显示器,大于等于 1200px) */
@media (min-width: @screen-lg-min) { ... }

@media (max-width: @screen-xs-max) { ... }
@media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) { ... }
@media (min-width: @screen-md-min) and (max-width: @screen-md-max) { ... }
@media (min-width: @screen-lg-min) { ... }
复制代码

2. 逻辑操作符

2.1 and表示且,当所有的条件满足的时候返回true

//一个基本的媒体查询,即一个媒体属性和默认指定的all媒体类型
@media (min-width:700px){}

//如果你只想再横屏时候应用,你可以使用and操作符合并媒体属性
(min-width:700px)and(orientation:landscape){}

//如果你仅想在电视媒体上应用
@media tv and (min-width:700px) and (orientation:landscape){}
复制代码

2.2 逗号分隔列表

媒体查询中使用逗号分隔效果等同于or逻辑操作符

//如果你想在最小宽度为700像素或者横屏的手持设备上应用
@media (min-width:700px),handheld and (orientation:lanscape){}
复制代码

2.3 not

使用关键词“not”是用来排除某种制定的媒体类型

@media not all and (monochrome) { ... }
等价于
@media not (all and (monochrome)) { ... }

@media not screen and (color), print and (color)
等价于
@media (not (screen and (color))), print and (color)
复制代码

2.4 only

only用来指定某种特定的媒体类型,可以用来排除不支持媒体查询的浏览器。其实only很多时候是用来对那些不支持Media Query但却支持Media Type的设备隐藏样式表的。其主要有:支持媒体特性的设备,正常调用样式,此时就当only不存在;表示不支持媒体特性但又支持媒体类型的设备,这样就会不读样式,因为其先会读取only而不是screen

3. 媒体类型

 

 

@media (max-width: 600px) {
  #con{
    width: 100px;
  }
}
复制代码

不填写则默认媒体类型为all

4. 媒体特征

4.1 宽高比:aspect-ratio,接受min/max

可以理解为文档区域的宽高比

//这指定了宽高比或者1:1或者更大。换句话说,可视区域或者是正方形或者是宽屏。
@media screen and (min-aspect-ratio: 1/1) { ... }
复制代码

4.2 设备宽高比:device-aspect-ratio,接受min/max

描述了输出设备屏幕区域的宽高比

//宽高比或者16:9或者16:10。
@media screen and (device-aspect-ratio: 16/9), 
screen and (device-aspect-ratio: 16/10) { ... }
复制代码

4.3 设备宽度/设备高度:device-height/device-width,接受min/max

整个屏幕或页的高度/宽度

4.4 方向:orientation

指定了设备处于横屏(宽度大于高度)模式还是竖屏(高度大于宽度)模式

//竖屏
@media all and (orientation: portrait) { ... }
//横屏
@media all and (orientation: landscape) { ... }

作者:酒阑人散
链接:https://juejin.im/post/5affd7ff6fb9a07aa2139ebb
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
posted @ 2020-04-30 13:38  剑仙6  阅读(279)  评论(0编辑  收藏  举报
欢迎访问个人网站www.qingchun.在线