带你读《2022技术人的百宝黑皮书》——下一代响应式Web设计: 组件驱动式Web设计(11)

简介: 带你读《2022技术人的百宝黑皮书》——下一代响应式Web设计: 组件驱动式Web设计(11)

带你读《2022技术人的百宝黑皮书》——下一代响应式Web设计: 组件驱动式Web设计(10)https://developer.aliyun.com/article/1340887?groupCode=taobaotech


如果你对减弱动效效果这方面技术感兴趣的话,还可以阅读:

  1. Revisiting prefers-reduced-motion, the reduced motion media query

(地址:https://css-tricks.com/revisiting-prefers-reduced-motion/

(地址:https://css-tricks.com/revisiting-prefers-reduced-motion/

(地址:https://css-tricks.com/revisiting-prefers-reduced-motion/

  1. Meeting “2.2.2 Pause, Stop, Hide” with prefers-reduced-motion

(地址:https://hidde.blog/meeting-2-22-pause-stop-hide-with-prefers-reduced-motion/

(地址:https://hidde.blog/meeting-2-22-pause-stop-hide-with-prefers-reduced-motion/

 

 

 

而 color-scheme 这个 CSS 属性和的name为theme-color是相同的。它们都是让开发者更容易根据用户的喜好设置来控制Web应用或页面的主题,即允许开发者根据用户喜好设置添加特定的主题样式。其实color-scheme 属性和  相应的标签与prefers-color-scheme相互作用,它们在一起可以发挥更好的作用。最重要的一点是,    color-scheme完全决定了默认的外观,而prefers-color-scheme则决定了可样式化的外观 。

 

假设你有下面这样的一个简单页面:

<head>
<meta name="color-scheme" content="dark light">
<style>
fieldset {
background-color: gainsboro;
  }
@media (prefers-color-scheme: dark) {
fieldset {
background-color: darkslategray;
  }
  }
</style>
</head>
<body>
  <p>
    Lorem ipsum dolor sit amet, legere ancillae ne vis. 
    </p>
<form>
<fieldset>
<legend>Lorem ipsum</legend>
<button type="button">Lorem ipsum</button>
</fieldset>
</form>
</body>

页面上<style>中的CSS代码,把<fieldset>元素的背景颜色设置为gainsboro,如果用户更喜欢暗色模式,则根据prefers-color-scheme媒体查询,将<fieldset>的背景颜色设置为darkslategray。

 

通过<metaname="color-scheme"content="darklight">元数据的设置,页面告诉浏览器,它支持深色

(dark)和亮色(light)主题,并且优先选择深色主题。

 

根据操作系统是设置为深色还是亮色模式,整个页面在深色上显示为浅色,反之亦然,基于用户代理样式表。开发者没有额外提供 CSS 来改变段落文本或页面的背景颜色。

1. Respecting Users’ Motion Preferences

(地址:https://www.smashingmagazine.com/2021/10/respecting-users-motion-preferences/)

2. Designing With Reduced Motion For Motion Sensitivities

(地址:https://www.smashingmagazine.com/2020/09/design-reduced-motion-sensitivities/)

3. Accessible Web Animation: The WCAG on Animation Explained

(地址:https://css-tricks.com/accessible-web-animation-the-wcag-on-animation-explained/

4. Accessible Animations in React

(地址:https://www.joshwcomeau.com/react/prefers-reduced-motion/)


带你读《2022技术人的百宝黑皮书》——下一代响应式Web设计: 组件驱动式Web设计(12)https://developer.aliyun.com/article/1340884?groupCode=taobaotech

相关文章
|
6月前
|
安全 Java API
Java Web 在线商城项目最新技术实操指南帮助开发者高效完成商城项目开发
本项目基于Spring Boot 3.2与Vue 3构建现代化在线商城,涵盖技术选型、核心功能实现、安全控制与容器化部署,助开发者掌握最新Java Web全栈开发实践。
646 1
|
6月前
|
JavaScript 前端开发 开发者
JavaScript:驱动现代Web的核心引擎
JavaScript:驱动现代Web的核心引擎
|
6月前
|
JavaScript 前端开发 物联网
JavaScript:驱动现代Web的核心引擎
JavaScript:驱动现代Web的核心引擎
|
移动开发 开发者 HTML5
构建响应式Web界面:Flexbox与Grid的实战应用
【10月更文挑战第22天】随着互联网的普及,用户对Web界面的要求越来越高,不仅需要美观,还要具备良好的响应性和兼容性。为了满足这些需求,Web开发者需要掌握一些高级的布局技术。Flexbox和Grid是现代Web布局的两大法宝,它们分别由CSS3和HTML5引入,能够帮助开发者构建出更加灵活和易于维护的响应式Web界面。本文将深入探讨Flexbox和Grid的实战应用,并通过具体实例来展示它们在构建响应式Web界面中的强大能力。
271 3
|
11月前
|
人工智能 自然语言处理 JavaScript
测试工程师要失业?Magnitude:开源AI Agent驱动的端到端测试框架,让Web测试更智能,自动完善测试用例!
Magnitude是一个基于视觉AI代理的开源端到端测试框架,通过自然语言构建测试用例,结合推理代理和视觉代理实现智能化的Web应用测试,支持本地运行和CI/CD集成。
1635 15
测试工程师要失业?Magnitude:开源AI Agent驱动的端到端测试框架,让Web测试更智能,自动完善测试用例!
|
9月前
|
缓存 前端开发 应用服务中间件
Web端实时通信技术SSE在携程机票业务中的实践应用
本文介绍了携程机票前端基于Server-Sent Events(SSE)实现服务端推送的企业级全链路通用技术解决方案。文章深入探讨了 SSE 技术在应用过程中包括方案对比、技术选型、链路层优化以及实际效果等多维度的技术细节,为类似使用场景提供普适性参考和借鉴。该方案设计目标是实现通用性,适用于各种网络架构和业务场景。
297 1
|
10月前
|
缓存 前端开发 应用服务中间件
Web端实时通信技术SSE在携程机票业务中的实践应用
本文介绍了携程机票前端基于Server-Sent Events(SSE)实现服务端推送的企业级全链路通用技术解决方案。文章深入探讨了 SSE 技术在应用过程中包括方案对比、技术选型、链路层优化以及实际效果等多维度的技术细节,为类似使用场景提供普适性参考和借鉴。
390 7
|
人工智能 安全 物联网
区块链技术的未来展望:去中心化金融(DeFi)与Web 3.0的融合
区块链技术的未来展望:去中心化金融(DeFi)与Web 3.0的融合
|
前端开发 JavaScript 搜索推荐
HTML与CSS在Web组件化中的核心作用及前端技术趋势
本文探讨了HTML与CSS在Web组件化中的核心作用及前端技术趋势。从结构定义、语义化到样式封装与布局控制,两者不仅提升了代码复用率和可维护性,还通过响应式设计、动态样式等技术增强了用户体验。面对兼容性、代码复杂度等挑战,文章提出了相应的解决策略,强调了持续创新的重要性,旨在构建高效、灵活的Web应用。
369 6
|
XML 前端开发 JavaScript
PHP与Ajax在Web开发中的交互技术。PHP作为服务器端脚本语言,处理数据和业务逻辑
本文深入探讨了PHP与Ajax在Web开发中的交互技术。PHP作为服务器端脚本语言,处理数据和业务逻辑;Ajax则通过异步请求实现页面无刷新更新。文中详细介绍了两者的工作原理、数据传输格式选择、具体实现方法及实际应用案例,如实时数据更新、表单验证与提交、动态加载内容等。同时,针对跨域问题、数据安全与性能优化提出了建议。总结指出,PHP与Ajax的结合能显著提升Web应用的效率和用户体验。
352 3