首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

媒体查询特性 - 适应用户偏好 | perfers-reduced-motion | prefers-color-scheme | Save data

引言: 当我们在使用APP,我们在 设置中常会发现这么一项操作:如无图模式、夜间模式等等,这些设置项来自对用户偏好的考量。为了打造轻应用的进展中,在web中也将逐步实现这样的特性。...今天,我们就来了解一下关于在web中打造用户偏好的特性。 适应用户偏好 在过去的几年里,浏览器实现各种功能,可以使用CSS、JavaScript或检查服务器端的首选项来响应web上的用户偏好。...perfers-reduced-motion这项特性被用于检测用户是否需要系统将其使用的动画或运动最小化。...important; } } 但是,这样做并不会触发动画开始/结束事件或关键帧(animation start/end events or keyframe states)状态。...正如你所看到的,目前有各种各样的方法来调整你的网站,以满足用户的偏好,在未来还会有更多的方法。这一特性有助于提高可访问性、性能和隐私,您适应这些特性,您可以让您的用户满意。

24220
您找到你想要的搜索结果了吗?
是的
没有找到

用户一个否减弱动画效果的选择

此外,这段时间每当看到 ,我的大脑被触发到如果是 MP4 会怎样?!总的来说,这是因为我确信从整体上来说在 Web 上视频要比 GIF 具有更多的优势。...这意味着我们需要三个源媒体文件: prefers-reduced-motion 为 reduce 启用的后备非动画图片。 动画 GIF 作为默认值。...Safari DevTools仅显示下载的mp4 如果你在 Chrome 或 Safari中激活了 prefers-reduced-motion: reduce (在 Mac 上,可以通过:系统偏好设置...→辅助功能→显示→减弱动态效果 进行设置),两个浏览器都只下载静态的 PNG 文件。...请记住,只有在同一媒体查询匹配才能显示按钮: 1 .picture-wrap .animate-button { 2 display: none; 3 } 4 5 @media (prefers-reduced-motion

73050

Modern CSS Reset

,当然这里是设置 html:focus-within 伪类,而不是直接给 html 赋予平滑滚动,这样做的目的是只对使用键盘 tab 键切换焦点页面,让页面进行平滑滚动切换,带来更好的使用体验。...prefers-reduced-motion 规则查询用于减弱动画效果,除了默认规则,只有一种语法取值 prefers-reduced-motion: reduce,开启该规则后,相当于告诉用户代理,...) { .ele { animation: none; } } 如果我们有一些类似这样的动画: 在用户开启 prefers-reduced-motion: reduce...而上述 Reset 中的那段代码,正是用于当用户开启对应选项后,减弱页面上的所有动画效果。属于对可访问性的考虑。 结合实际环境 当然,结合实际环境,目前国内整体不太注重可访问性相关的内容。...Chrome 或者是 Chromium 内核,Normalize.css 内的许多内容其实可能是一些实际中根本不会遇到或者用上的兼容适配,可以进行必要的精简 如果你的业务是全球化,面向的用户不仅仅在国内

53220

对话框、模态框和弹出框看起来很相似,它们有何不同?

默认情况下,用户通过 Tab 键离开元素,light dismiss 不会触发 (但开发人员如果需要,可以添加此功能,详情可见 openui/open-ui#415 中的讨论)。...当然,您将使用 prefers-reduced-motion 遵循用户的运动设置(users' motion settings)。...它们共同点是它们由两个部分组成:一个是触发器元素,另一个是被触发的元素。 披露组件不会捕获焦点,没有背景,也不是模态的。它们通常使用触发器或特定的关闭按钮进行关闭或折叠。...如果存在多个按钮,可能是其中最不破坏性的一个,例如如果有“取消”和“确认”按钮,一个合理的默认选项可能是“取消”。 模式对话框关闭:如果用户触发它,将焦点移回触发器。...如果用户没有触发它,将它移动到 DOM 中较早的适当位置。 模态对话框关闭:如果用户触发了它,将焦点返回到触发器。浏览器会对自动执行此操作。

3.4K00

CSS】1088- CSS 快速实现烟花绽放

原因是在改变位置的时候也是平滑过渡的,所以这个地方也需要加上 steps(),注意这里只需要 steps(1)就可以,表示这个过程中直接跳到指定关键帧就结束不会自动在途中创建其他帧 .fireworks...在 MacOS 中:系统偏好 > 辅助使用 > 显示 > 减弱动态效果。 在 iOS 上:设置 > 通用 > 辅助性 > 减弱动态效果。...在 Android 9+ 上:设置 > 辅助性 > 移除动画。 相对应的,CSS 中可以通过媒体查询 prefers-reduced-motion来检测系统是否开启动画减弱功能。..." ,烟花动效就完全消失。...mask 实现 IE 和现代浏览器可以用 :default 区分 有必要跟随系统设置关闭动画,可以借助媒体查询 prefers-reduced-motion CSS 实现并不复杂,大部分同学应该都能快速上手

1.2K10

AntDB数据并行加载工具的实现

4.自动生成序列字段值 本工具支持自动生成序列字段值,有些表的字段设置Default值为序列,用户可能需要数据库自己生成,并没有包含在文件中。...该字段为非分片键,我们可以使用数据库自有的功能,在插入时自动生成该字段值。但是该字段为分片键,我们需要先在加载工具中生成该值,然后根据该值进行分片,插入到对应的DN节点。...6.触发器 导入的表包含触发器,并行加载工具并不会做特殊的处理,触发器涉及非本数据节点,并行加载工具并不支持。...例如一个表的触发器,该触发器会插入另外一张表,但是该表分片与原表不同,此时将会涉及多个数据节点。7.不支持辅助表 AntDB有辅助功能,用来优化SQL语句的性能,该表中存放数据表的相应数据。...数据表有辅助,并行加载工具只能将文件导入到数据表,并不会修改相应的辅助表。

68140

一个侧边栏导航组件实现思路

桌面到移动设备响应式布局演示 用了哪些技术 在这次组件探索中,我很高兴地结合一些关键的网络平台特性: 伪类 CSS Grid transforms 媒体查询和用户偏好 CSS 用户增强体验 我的解决方案只有一个侧边栏...在我们的解决方案中,这个首选项是通过调整媒体查询中的 -- duration CSS 变量来实现的。此媒体查询值表示用户的操作系统对移动的偏好(如果可用)。...#sidenav-open { --duration: .6s; } @media (prefers-reduced-motion: reduce) { #sidenav-open {...10vw,以确保 sidenav 隐藏,它的盒子阴影不会窥视主视图。...我通过在: 目标更改时设置可见性转换来实现这一点。 进入时,请勿过渡可见性;立刻可见,因此我可以看到元素滑入并接受焦点。

3.6K40

一篇上手LayaAir的3D物理引擎

触发器是碰撞器的一个属性,任何碰撞器的触发器属性设置生效后,当前的碰撞器即转变为触发器(比如,刚体碰撞器设置触发器后可称为刚体触发器)。即使发生物体接触,也不会产生碰撞的物理反馈。...激活触发器生命周期也有特定的情况除外,具体规则会在下面的物理生命周期章节介绍 触发器isTrigger设置为true,或者在Unity的碰撞体组件那里勾选Is Trigger并导出使用时,如图3-2...因为它的特性是不受力,不会产生物理移动。 其与动力学刚体碰撞器或角色碰撞器发生物理碰撞后,可以触发物理碰撞生命周期方法,但不会产生物理的受力位移。...2.4.3 触发事件生命周期方法的触发条件 碰撞器是只能与碰撞器之间碰撞,才有可能进入碰撞器的生命周期, 而触发器则不然,触发器不仅与触发器之间有可能进入触发器的生命周期,触发器与碰撞器之间接触,也有可能进入触发器的生命周期...这些限制都是对象超过了约束的限制角度要反向旋转对象而施加的弹簧力矩,只是轴的区别。

4.6K10

2020年你不应该错过的CSS新特性

只有一个值,表示row-gap和column-gap的值相同;gap有两个值,其中第一个值是row-gap,第二个值是column-gap。...是的,它就是我们所说的CSS媒体查询。只不过稍有不同的是,这个媒体查询是根据用户在设备上的设置喜好来做条件判断。.../153525): 比如,使用prefers-reduced-motion媒体查询用于检测用户的系统是否被开启动画减弱功能: 上面提到的这些媒体查询条件都是在 CSS Media Queries Level...由于这种“父选择器”行为需要借助用户的行为触发,属于“后渲染”,不会与现有的渲染机制相互冲突。...这些值与用户的首选项进行协商,从而产生影响用户界面(UI)内容的所选颜色方案,例如表单控制和滚动条的默认颜色,以及CSS系统颜色的使用值。

1.1K41

2022 年的 CSS 全览

在下一个示例中,黑色转换为蓝色,因为它是渐变的已知问题空间。大多数颜色空间在颜色插值期间会逐渐变为紫色。或者,颜色在其颜色空间内从 A 点移动到 B 点。...当用户滑出侧边菜单,让鼠标或键盘与后面的页面交互是不合适的;相反,显示侧边菜单,使页面处于inert状态,现在用户必须关闭或在该侧边菜单中导航,并且永远不会发现自己在打开菜单的页面中迷失在其他地方...在 @scope 之后,样式不仅可以限定在一个上下文中,就像一个类一样,它们还可以明确样式的结束位置,并且不会继续级联或继承。 在以下示例中,BEM 命名约定范围可以转换为实际意图。...CSS保存数据 在 prefers-reduced-data媒体查询之前,JavaScript 和服务器可以根据用户的操作系统或浏览器的“data saver”选项更改其行为,但 CSS 不能。...当用户与媒体滚动条交互,继续保存。这些图像上都有load="lazy"属性,再加上CSS完全隐藏元素,这意味着永远不会对图像发出网络请求。

4.2K20

是的!Figma也可以用时间轴做超级流畅的动画了

嗯,它对新用户非常友好。 在顶部有一个选项卡,它们是动画名称,下面是工具栏,左侧面板以及带有关键帧的时间轴。您可以为任何文件添加很多动画。 ? 接下来让我们快速看看工具栏按钮。 ? 工具列 ?...右下旋转点 4.2缓动功能 缓动功能控制加减速。有4种缓动功能: 线性的 缓入—开始加速 缓和—最终减速 缓入缓出—起点加速,终点减速 在这里还有一个选项-Steps。...它将立即更改数值,而不会进行任何转换。让我们尝试一下,我们依然选择将矩形从Frame的左侧移动到右侧。选择最后一个关键帧并打开关键帧面板,然后更改缓动功能并查看结果。 ? 线性运动 ?...缓入,启动加速 ? 缓出,慢下来 ? 缓入缓出。开始加速,结束减速。 ? 瞬间移动 4.3复制粘贴关键帧 复制和粘贴关键帧也很容易。...它将在动画结束暂停1秒,然后重复播放。有时,设置重复,您将看不到动画的最终结果。您希望在开始新的动画圈之前有一个延迟。您可以根据需要添加额外的关键帧。

17.5K34

探索 MotionLayout 动画世界

ConstrainSet描述开始或结束页面控件的状态 Transtion指定动画要使用的ConstrainSet,动画的触发方式等。...如果我们只设置motion:showPaths="true"的话那么就会显示轨迹线,如果同时设置motion:showPaths和motion:motionDebug的话,showPaths的设置会失效...OnClick 用于处理用户点击事件。 targetId :被点击后触发动画的视图id。 clickAction :点击要执行的操作。...dragThreshold :定义拖拽的最小阈值,拖拽距离小于该值,视图不会响应拖拽事件。这个属性可以用于控制视图响应拖拽事件的灵敏度。 autoCompleteMode :定义自动完成的模式。...bounceEnd :拖拽到结束位置弹簧会弹动。 bounceBoth :拖拽到开始或结束位置弹簧会弹动。 rotationCenterId :定义旋转中心的视图 ID。

9310

网速敏感的视频延迟加载方案

'video.js-video-loader')); // 将在下面情况下返回 // - 浏览器不支持 Promise // - 没有 video 元素 // - 如果用户设置减少动态偏好...(prefers reduced motion) // - 在移动设备上 if (typeof Promise === 'undefined' || !...当用户开启减少动态偏好(preference for reduced motion设置,我们同样不会加载这样的视频。为了不让某些低网速或低图形处理能力的手机用户担心,在小屏幕手机上也会直接返回。...我们在这个 Promise 中添加一个这个事件的监听回调,这个事件触发的时候执行 resolve()。...在这个 Promise 中,经过一个设定好的时间后,我们使用 setTimeout 来将这个 Promise 给 resolve 掉,我这设置一个 2 秒的延(2000毫秒)。

1.3K40
领券