CSS媒体查询中新增的特性有哪些

发布时间:2022-04-26 15:38:25 作者:iii
来源:亿速云 阅读:207

这篇文章主要介绍了CSS媒体查询中新增的特性有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇CSS媒体查询中新增的特性有哪些文章都会有所收获,下面我们一起来看看吧。

CSS @media 规范

prefers-reduced-motion、prefers-color-scheme、prefers-contrast、prefers-reduced-transparency、prefers-reduced-data  都属于 CSS @media 规范中的内容,最新的 CSS @media 规范出到了第五版 - Media Queries Level 5。

它们的用法基本一致,像是这样,与我们常写的视口媒体查询类似,以 prefers-reduced-motion 为例子:

.ele {     animation: aniName 5s infinite linear; }  @media (prefers-reduced-motion: reduce) {     .ele {         animation: none;     }

那么,它们都有什么用呢?

prefers-reduced-motion 减弱动画效果

prefers-reduced-motion 规则查询用于减弱动画效果,除了默认规则,只有一种语法取值 prefers-reduced-motion:  reduce,开启了该规则后,相当于告诉用户代理,希望他看到的页面,可以删除或替换掉一些会让部分视觉运动障碍者不适的动画类型。

使用方法,还是上面那段代码:

.ele {     animation: aniName 5s infinite linear; }  @media (prefers-reduced-motion: reduce) {     .ele {         animation: none;     } }

如果我们有一些类似这样的动画:

CSS媒体查询中新增的特性有哪些

在用户开启了 prefers-reduced-motion: reduce 时,就应该把它去掉。那么该如何开启这个选项呢?MDN --  prefers-reduced-motion 给出的是:

prefers-color-scheme 适配明暗主题

prefers-color-scheme 还是非常好理解的,它用于匹配用户通过操作系统设置的明亮或夜间(暗)模式。它有两个不同的取值:

明亮模式

夜间(暗)模式

语法如下,如果我们默认的是明亮模式,只需要适配夜间模式即可:

body {     background: white;     color: black; }  @media (prefers-color-scheme: dark) {     body {         background: black;         color: white;     } }

当然,上述只是 CSS  代码示意,要做到两套主题的切换肯定不是这么简单,方法也很多,本文不赘述,读者可以自行了解各种实现主题切换,或者是明暗切换的方案。

prefers-contrast 调整内容色彩对比度

prefers-contrast 该 CSS 媒体功能是用来检测用户是否要求将网页内容以更高或者更低的对比度进行呈现。其中:

以 prefers-contrast: less 为例子,语法如下:

body {     background: #fff; // 文字与背景对比度为 5.74     color: #666; }  // 提升对比度 @media (prefers-contrast: more) {     body {         background: #fff; // 文字与背景对比度为 21         color: #000;     } }

上面只是伪 CSS 代码,具体可能需要对具体的一些元素进行处理,或者使用 filter: contrast()  全局统一处理,当开启配置时,用于实现类似这样的功能:

CSS媒体查询中新增的特性有哪些

那为什么需要调整页面的对比度呢?此举是为了让一些视觉障碍的用户有更好的体验,这里补充一些对比度可访问性相关的知识。内容取自我的这篇文章 --  前端优秀实践不完全指南

可访问性 -- 色彩对比度

颜色,也是我们天天需要打交道的属性。对于大部分视觉正常的用户,可能对页面的颜色敏感度还没那么高。但是对于一小部分色弱、色盲用户,他们对于网站的颜色会更加敏感,不好的设计会给他们访问网站带来极大的不便。

什么是色彩对比度

是否曾关心过页面内容的展示,使用的颜色是否恰当?色弱、色盲用户能否正常看清内容?良好的色彩使用,在任何时候都是有益的,而且不仅仅局限于对于色弱、色盲用户。在户外用手机、阳光很强看不清,符合无障碍标准的高清晰度、高对比度文字就更容易阅读。

这里就有一个概念 --  颜色对比度,简单地说,描述就是两种颜色在亮度(Brightness)上的差别。运用到我们的页面上,大多数的情况就是背景色(background-color)与内容颜色(color)的对比差异。

最权威的互联网无障碍规范 —— WCAG AA规范规定,所有重要内容的色彩对比度需要达到 4.5:1 或以上(字号大于18号时达到 3:1  或以上),才算拥有较好的可读性。

检查色彩对比度的工具

Chrome 浏览器从很早开始,就已经支持检查元素的色彩对比度了。

prefers-reduced-transparency 减少透明元素

prefers-reduced-transparency 该 CSS 媒体功能是用来检测用户是否要求减少网页中的透明元素:

以 prefers-contrast: reduce 为例子,语法如下:

.ele {     opacity: 0.5; }  // 减少透明元素 @media (prefers-contrast: reduce) {     .ele {         opacity: 1;     } }

prefers-reduced-data 减少数据传输

对于部分网速较差的地区,或者流量很贵的情况,用户会希望减少页面中的流量请求,基于此有了 prefers-reduced-data。

prefers-reduced-data 该 CSS 媒体查询功能是用于告知用户代理,希望减少页面的流量请求。

以 prefers-reduced-data: reduce 为例子,语法如下:

.ele {     background-image: url(image-1800w.jpg); }  // 降低图片质量 @media (prefers-reduced-data: reduce) {     .ele {         background-image: url(image-600w.jpg);     } }

当检测到用户开启了 prefers-reduced-data: reduce,我们将提供压缩度更高,尺寸更小,消耗流量更少的图片。

当然,上述代码只是个示意,我们可以做的其实有更多。

不过,这是仍处于实验室的功能,暂时没有任何浏览器支持该媒体查询~ ?

当然,从 Chrome 85+ 开始,可以通过开启  #enable-experimental-web-platform-features实验室选项开启该功能!

关于“CSS媒体查询中新增的特性有哪些”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“CSS媒体查询中新增的特性有哪些”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注亿速云行业资讯频道。

推荐阅读:
  1. Java8的新增特性有哪些
  2. python3.8的新增特性有哪些?

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

css

上一篇:CSS中class和id的命名规范是什么

下一篇:CSS中的vertical-align属性怎么使用

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》