prefers-reduced-motion
åºçº¿
广æ³å¯ç¨
èª 2020å¹´1æ èµ·ï¼æ¤ç¹æ§å·²å¨ä¸»æµæµè§å¨ä¸å¾å°æ¯æï¼å¯å¨å¤§å¤æ°è®¾å¤åæµè§å¨çæ¬ä¸æ£å¸¸ä½¿ç¨ã
CSS åªä½ç¹æ§ prefers-reduced-motion ç¨äºæ£æµç¨æ·çç³»ç»æ¯å¦è¢«å¼å¯äºå¨ç»åå¼±åè½ã
è¯æ³
no-preference-
ç¨æ·æªä¿®æ¹ç³»ç»å¨ç»ç¸å ³ç¹æ§ã
reduce-
è¿ä¸ªå¼æå³çç¨æ·ä¿®æ¹äºç³»ç»è®¾ç½®ï¼å°å¨ç»æææå°åï¼æå¥½ææçä¸å¿ è¦çç§»å¨é½è½è¢«ç§»é¤ã
ç¨æ·å好
å¨ç«çä¸ï¼æ»¡è¶³ä»¥ä¸æ¡ä»¶å reduce ä¼çæï¼
-
å¨ GTK/Gnome ä¸ï¼å¯ä»¥éè¿ GNOME Tweaksï¼å¨âéç¨âæâå¤è§âèåä¸ï¼åå³äºå ·ä½çæ¬ï¼çé ç½®ï¼è®¾ç½®
gtk-enable-animationsçå¼ä¸ºfalseã- å¯ä»¥å¨ GTK 3 çé
ç½®æä»¶ä¸ç
[Settings]模åä¸è®¾ç½®gtk-enable-animations = falseã
- å¯ä»¥å¨ GTK 3 çé
ç½®æä»¶ä¸ç
-
å¨ Windows 10 ä¸ï¼è®¾ç½® > è½»æ¾è·å > æ¾ç¤º > å¨ Windows 䏿¾ç¤ºå¨ç»ã
-
å¨ Windows 11 ä¸ï¼è®¾ç½® > è¾ å©åè½ > è§è§ææ > å¨ç»ææã
-
å¨ MacOS ä¸ï¼ç³»ç»å好 > è¾ å©ä½¿ç¨ > æ¾ç¤º > åå°è¿å¨ã
-
å¨ iOS ä¸ï¼è®¾ç½® > éç¨ > è¾ å©æ§ > åå°è¿å¨ã
-
å¨ Android 9+ ä¸ï¼è®¾ç½® > è¾ å©æ§ > ç§»é¤å¨ç»ã
示ä¾
ä¸é¢çä¾åå°ä¼å±ç¤ºä¸ç»ä»¤äººå¿ç¦çå¨ç»ï¼ä¸è¿å½ä½ å¼å¯äºç³»ç»çâåå°è¿å¨âåå°±è½çå°å¨ç»åå¼±çææäºã
HTML
<div class="animation">animated box</div>
CSS
.animation {
animation: vibrate 0.3s linear infinite both;
}
@media (prefers-reduced-motion: reduce) {
.animation {
animation: none;
}
}
Result
è§è
| è§è |
|---|
| Media Queries Level 5> # prefers-reduced-motion> |
æµè§å¨å ¼å®¹æ§
åè§
Sec-CH-Prefers-Reduced-MotionHTTP æ å¤´ç¨æ·ä»£ç客æ·ç«¯æç¤º- å¨ç»åå¼±åªä½æ¥è¯¢ç®ä»ï¼CSS-Tricksï¼2019ï¼
- ååºå¼å¨ç»è®¾è®¡ï¼WebKit å客ï¼2017ï¼