您现在的位置是:网站首页> 编程资料编程资料
CSS3媒体查询Media Queries基础学习教程CSS3中媒体查询结合rem布局适配手机屏幕纯js和CSS3媒体查询制作简单的响应式导航菜单特效源码详解CSS3 Media Queries中媒体属性的使用 使用CSS媒体查询(Media Queries)和JavaScript判断浏览器设备类型的方法CSS3媒体查询(Media Queries)介绍css3 响应式媒体查询的示例代码
2023-10-23
298人已围观
简介 这篇文章主要介绍了CSS3媒体查询基本学习教程,包括基本的语法和逻辑操作符,以及媒体查询可检测的特性与利用viewport禁止用户缩放等部分的内容,需要的朋友可以参考下
语法
媒体查询包含了一个媒体类型 和如CSS3规范中描述的包含一个或多个表达式的媒体属性,这些媒体属性会被解析成真或假。如果媒体查询中的媒体类型与文档要展示的设备相符则查询结果为真,并且媒体查询中的所有表达式为真。
- "stylesheet" media="(max-width: 800px)" href="example.css" />
当媒体查询为真时,相关的样式表或样式规则就会按照正常的级联规则被应用。即使媒体查询返回假, 标签上带有媒体查询的样式表 仍将被下载 (只不过不会被应用)。
在不使用 not 或 only 操作符的情况下,媒体类型是可选的,默认为 all 。
逻辑操作符
操作符 not,and 和 only 可以用来构建复杂的媒体查询。
and 操作符用来把多个 媒体属性 组合起来,合并到同一条媒体查询中。只有当每个属性都为真时,这条查询的结果才为真。
not 操作符用来对一条媒体查询的结果进行取反。
only 操作符表示仅在媒体查询匹配成功的情况下应用指定样式。可以通过它让选中的样式在老式浏览器中不被应用。
若使用了 not 或 only 操作符,必须明确指定一个媒体类型。
你也可以将多个媒体查询以逗号分隔放在一起;只要其中任何一个为真,整个媒体语句就返回真。相当于 or 操作符。
and
and 关键字用于合并多个媒体属性或合并媒体属性与媒体类型。一个基本的媒体查询,即一个媒体属性与默认指定的 all媒体类型,可能像这样子:
- @media (min-width: 700px) { ... }
如果你只想在横屏时应用这个,你可以使用 and 操作符合并媒体属性:
- (min-width: 700px) and (orientation: landscape) { ... }
现在上面的媒体查询仅在可视区域宽度不小于700像素并在在横屏时有效。如果,你仅想再电视媒体上应用,你可以使用 and 操作符合并媒体属性:
- @media tv and (min-width: 700px) and (orientation: landscape) { ... }
现在,上面媒体查询仅在电视媒体上,可视区域不小于700像素宽度并且是横屏时有效。
逗号分隔列表
媒体查询中使用逗号分隔效果等同于 or 逻辑操作符。当使用逗号分隔的媒体查询时,如果任何一个媒体查询返回真,样式就是有效的。逗号分隔的列表中每个查询都是独立的,一个查询中的操作符并不影响其它的媒体查询。这意味着逗号媒体查询列表能够作用于不同的媒体属性、类型和状态。
例如,如果你想在最小宽度为700像素或是横屏的手持设备上应用一组样式,你可以这样写:
- @media (min-width: 700px), handheld and (orientation: landscape) { ... }
如上文,如果是一个800像素宽的屏幕设备,媒体语句将会返回真,因为第一部分相当于 @media all and (min-width: 700px) 将会应用于该设备并且返回真,尽管我的屏幕媒体类型并不与第二部分的手持媒体类型相符。同样地,如果我是一个500像素宽的横屏手持设备,尽管第一部分因为宽度问题而不匹配,第二部分仍会成功,因此整个媒体查询返回真。
not
not 关键字应用于整个媒体查询,在媒体查询为假时返回真 (比如 monochrome 应用于彩色显示设备上或一个600像素的屏幕应用于 min-width: 700px 属性查询上 )。在逗号媒体查询列表中 not 仅会否定它应用到的媒体查询上而不影响其它的媒体查询。 not 关键字仅能应用于整个查询,而不能单独应用于一个独立的查询。例如,not 在下面的查询中最后被计算:
- @media not all and (monochrome) { ... }
等价于:
- @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)
only
only 关键字防止老旧的浏览器不支持带媒体属性的查询而应用到给定的样式:
- "stylesheet" media="only screen and (color)" href="example.css" />
伪范式
- media_query_list:
[, ]* - media_query: [[only | not]?
[ and ]*] - |
[ and ]* - expression: (
[: ]? ) - media_type: all | aural | braille | handheld | print |
- projection | screen | tty | tv | embossed
- media_feature: width | min-width | max-width
- | height | min-height | max-height
- | device-width | min-device-width | max-device-width
- | device-
相关内容
- CSS黑魔法之计数器counter的使用技巧CSS计数器counter()的用法简介CSS计数器(序列数字字符自动递增)详解
- 通过CSS3的object-fit来调整图片适配尺寸的技巧简介浅谈CSS中的 object-fit 与 object-position的使用
- CSS3中currentColor关键字的妙用
- 魔幻般冒泡背景的CSS3按钮动画CSS3鼠标滑过图片效果 用Font Awesome库实现悬停图标基于CSS3实现鼠标滑过图片上移代码纯CSS3实现鼠标滑过按钮动画第二节
- 你值得拥有的CSS下拉菜单效果纯CSS实现下拉菜单的示例代码CSS3模拟动画下拉菜单效果CSS导航栏及弹窗示例代码CSS下拉菜单简单制作教程 css制作黑色经典导航下拉菜单基于CSS实现的4级下拉菜单效果代码CSS实现的灰色下拉菜单效果代码纯CSS实现的大型下拉菜单的示例代码
- 天天酷跑3月2日版全自动刷分高效无异常脚本方法_手机游戏_游戏攻略_
- 天天酷跑1.0.1.0叉叉助手刷分刷钻无异常版下载及使用攻略分享_手机游戏_游戏攻略_
- 天天酷跑紫焰哈雷 霸气双形态外观展示_手机游戏_游戏攻略_
- 极致酷炫霸气十足 紫焰哈雷今日火爆上线_手机游戏_游戏攻略_
- 天天酷跑大神的标志 天天酷跑胜场图标详细介绍_手机游戏_游戏攻略_
点击排行
本栏推荐
