iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > VUE >CSS媒体查询中新增的特性
  • 753
分享到

CSS媒体查询中新增的特性

2024-04-02 19:04:59 753人浏览 安东尼
摘要

本篇内容主要讲解“CSS媒体查询中新增的特性”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“CSS媒体查询中新增的特性”吧!文本将介绍 CSS 媒体查询中新增的几

本篇内容主要讲解“CSS媒体查询中新增的特性”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“CSS媒体查询中新增的特性”吧!

文本将介绍 CSS 媒体查询中新增的几个特性功能:

  • prefers-reduced-motion

  • prefers-color-scheme

  • prefers-contrast

  • prefers-reduced-transparency

  • prefers-reduced-data

利用好它们,能够很好的提升我们网站的健壮性与可访问性!

互联网发展到今天,对于我们的前端而言,我们的关注点不应该仅仅是我们产出的页面能不能用,也需要更多的去关注我们的页面好不好用,有没有照顾到更多的用户群体?

要知道,截至 2020 年 12 月,中国网民规模达 9.89 亿(数据来源 - 第47次《中国互联网络发展状况统计报告》 ),并不是每个用户都在使用  iPhone12 Pro Max 这种高端旗舰,更多的人群可能使用的还是百元机、千元机,十几年前的  PC。也并非每个用户都是身体或者生理上完全健全的,会存在各种视觉障碍、听觉障碍、行动障碍等用户。

我们的页面需要渐进增强,使用各种新的、花里胡哨的特性,添加各种酷炫的效果。

同时,也要考虑一些使用低端机型的用户体验,考虑部分残障人士的使用,或者是尊重用户的个性化配置。基于此,CSS  规范提出了一系列有益的属性,用于适配用户的一些个性化配置,提升页面的可访问性及健壮性。

也就是上面提到的 5 个 prefers-* 的内容,下面我们逐一介绍。

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,开启了该规则后,相当于告诉用户代理,希望他看到的页面,可以删除或替换掉一些会让部分视觉运动障碍者不适的动画类型。

  • 规范原文:Indicates that user has notified the system that they prefer an  interface that removes or replaces the types of motion-based animation that  trigger discomfort for those with vestibular motion disorders.

  • vestibular motion disorders  是一种视觉运动障碍患者,中文我只能谷歌翻译,翻译出来是前庭运动障碍,我感觉不太对,谷歌了一下是一种会导致眩晕的一类病症,譬如一个动画一秒闪烁多次,就会导致患者的不适。

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

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

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

CSS媒体查询中新增的特性

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

  • 在 GTK/Gnome 中,可以通过 GNOME Tweaks (在“通用”或“外观”菜单中,取决于具体版本) 的配置,设置  gtk-enable-animations 的值为 false

  • 可以在 GTK 3 的配置文件中的 [Settings] 模块下设置 gtk-enable-animations = false

  • windows 10 中:设置 > 轻松获取 > 显示 > 在 Windows 中显示动画

  • 在 Windows 7 中:控制面板 > 轻松获取 > 计算机更易于查看 > 关闭不必要动画

  • MacOS 中:系统偏好 > 辅助使用 > 显示 > 减少运动

  • iOS 上:设置 > 通用 > 辅助性 > 减少运动

  • Android 9+ 上:设置 > 辅助性 > 移除动画

prefers-color-scheme 适配明暗主题

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

  • prefers-color-scheme: light:

明亮模式

  • prefers-color-scheme: dark:

夜间(暗)模式

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

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

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

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

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

  • prefers-contrast: no-preference:默认值,不作任何变化

  • prefers-contrast: less:希望使用对比度更低的界面

  • prefers-contrast: more:希望使用对比度更高的界面

以 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  或以上),才算拥有较好的可读性。

借用一张图 -- 知乎 -- 助你轻松做好无障碍的15个UI设计工具推荐:

CSS媒体查询中新增的特性

image

很明显,上述最后一个例子,文字已经非常的不清晰了,正常用户都已经很难看得清了。

检查色彩对比度的工具

Chrome 浏览器从很早开始,就已经支持检查元素的色彩对比度了。以我当前正在写作的页面为例子,GitHub Issues 编辑页面的两个按钮:

CSS媒体查询中新增的特性

image

审查元素,分别可以看到两个按钮的色彩对比度:

CSS媒体查询中新增的特性

image

可以看到,绿底白字按钮的色彩对比度是没有达到标准的,也被用黄色的叹号标识了出来。

除此之外,在审查元素的 Style 界面的取色器,改变颜色,也能直观的看到当前的色彩对比度:

CSS媒体查询中新增的特性

image

prefers-reduced-transparency 减少透明元素

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

  • prefers-contrast: no-preference:默认值,不作任何变化

  • prefers-contrast: reduce:希望界面元素存在尽可能少的透明元素

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

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

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

CSS媒体查询中新增的特性

image

prefers-reduced-data 减少数据传输

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

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

  • prefers-reduced-data: no-preference:默认值,不作任何变化

  • prefers-reduced-data: reduce:希望界面元素消耗更少的互联网流量

以 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媒体查询中新增的特性”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: CSS媒体查询中新增的特性

本文链接: https://www.lsjlt.com/news/67520.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • CSS媒体查询中新增的特性
    本篇内容主要讲解“CSS媒体查询中新增的特性”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“CSS媒体查询中新增的特性”吧!文本将介绍 CSS 媒体查询中新增的几...
    99+
    2024-04-02
  • CSS媒体查询新增的特性怎么使用
    这篇文章主要介绍了CSS媒体查询新增的特性怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇CSS媒体查询新增的特性怎么使用文章都会有所收获,下面我们一起来看看吧。CSS @media 规范prefers-...
    99+
    2023-07-04
  • 媒体查询是css3新增属性的吗
    本文小编为大家详细介绍“媒体查询是css3新增属性的吗”,内容详细,步骤清晰,细节处理妥当,希望这篇“媒体查询是css3新增属性的吗”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。...
    99+
    2024-04-02
  • css媒体查询失效怎么办
    本教程操作环境:Windows10系统、css3版、DELL G3电脑css媒体查询失效怎么办? CSS @media媒体查询无效用@media媒体查询写的CSS样式无效?1.问题用@media媒体查询写的CSS样式对html无效。2.解决...
    99+
    2023-05-14
    媒体查询 css
  • CSS 媒体查询属性详解:@media 和 min-width/max-width
    在现代的web开发中,设备的屏幕大小和分辨率多种多样。为了实现更好的用户体验,我们常常需要根据设备的不同来调整网页的样式和布局。CSS媒体查询属性是一种强大的工具,可以帮助我们根据设备的特性来动态地应用不同样式。本文将详细介绍@media规...
    99+
    2023-10-21
    断点 响应式设计 媒体特性
  • CSS 媒体查询属性:@media 和 min-device-width/max-device-width
    CSS 媒体查询属性:@media 和 min-device-width/max-device-width,需要具体代码示例在现代Web开发中,我们经常需要根据用户所使用的设备来调整网页的样式和布局。为了实现这一目的,CSS提供了媒体查询属...
    99+
    2023-10-24
    CSS媒体查询 @media min-device-width/max-device-width
  • css媒体查询失效如何解决
    这篇文章主要介绍了css媒体查询失效如何解决的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇css媒体查询失效如何解决文章都会有所收获,下面我们一起来看看吧。css媒体查询失效的解决办法:1、修改语法如“@med...
    99+
    2023-07-05
  • CSS媒体查询不生效怎么解决
    如果CSS媒体查询不生效,可以尝试以下解决方法:1. 检查媒体查询的语法和语义是否正确。确保媒体查询的条件和CSS规则之间没有语法错...
    99+
    2023-10-12
    CSS
  • CSS 媒体查询属性探索:@media 和 min-device-width/max-device-width
    引言:随着移动设备的普及,网站的响应式设计变得越来越重要。而在实现响应式设计时,CSS媒体查询属性起着至关重要的作用。本文将深入探索@media和min-device-width/max-device-width两个媒体查询属性,并提供具体...
    99+
    2023-10-21
    媒体查询 设备宽度 @media
  • CSS3中媒体查询的示例分析
    这篇文章将为大家详细讲解有关CSS3中媒体查询的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。   媒体查询   CSS3中的媒体查询,它可以根据用户设备的尺...
    99+
    2024-04-02
  • css3中媒体查询的语法简介
    小编给大家分享一下css3中媒体查询的语法简介,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!媒体查询的语法组成是“@media not|only mediatype and (expressions) {CSS代码...;...
    99+
    2023-06-14
  • CSS3中媒体特性的示例分析
    这篇文章主要介绍了CSS3中媒体特性的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。CSS3 媒体特性与Responsive设计随着...
    99+
    2024-04-02
  • CSS3中多媒体查询的示例分析
    小编给大家分享一下CSS3中多媒体查询的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!   CSS2多媒体查询:  ...
    99+
    2024-04-02
  • vue中关于@media媒体查询的使用
    目录关于@media媒体查询使用1.vue需要安装sass-loader和node-sass2个插件来使用2.直接在每个页面中使用使用@media媒体查询失效问题vue媒体查询失效原...
    99+
    2022-11-13
    vue @media vue 媒体查询 vue media @media媒体查询使用
  • css响应式网页如何实现媒体查询
    这篇文章将为大家详细讲解有关css响应式网页如何实现媒体查询,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。手写响应式网页,具体技术点有:1.声明viewport元标签(响...
    99+
    2024-04-02
  • 怎么在JavaScript中使用媒体查询
    本文小编为大家详细介绍“怎么在JavaScript中使用媒体查询”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么在JavaScript中使用媒体查询”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。前言说起媒体查...
    99+
    2023-07-05
  • css3中media媒体查询器怎么用
    今天小编给大家分享一下css3中media媒体查询器怎么用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起...
    99+
    2024-04-02
  • html5中新增了哪些新特性
    小编给大家分享一下html5中新增了哪些新特性,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!html5的新特性:1、用于绘画的canvas元素;2、用于媒介回放的...
    99+
    2023-06-14
  • bootstrap媒体查询的作用是什么
    这期内容当中小编将会给大家带来有关bootstrap媒体查询的作用是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。在Bootstrap中,媒体查询可以通过屏幕的大小来...
    99+
    2024-04-02
  • HTML5新增的多媒体标签怎么使用
    这篇“HTML5新增的多媒体标签怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“HT...
    99+
    2024-04-02
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作