前端阅读体验优化-GitBook自动换肤

新键盘入手,HHKB Professional 2 Type-S

hhkb
hhkb

通过侦听显示器亮度,或根据当地时间,实现自动换肤换色。

DeviceLightEvent

window.addEventListener('devicelight', function(e) {
  var lux = e.value;

  if(lux < 50) {
    document.body.className = 'dim';
  }
  if(lux >= 50 && lux <= 1000) {
    document.body.className = 'normal';
  }
  if(lux > 1000)  {
    document.body.className = 'bright';
  } 
});

兼容性

https://developer.mozilla.org/zh-CN/docs/Web/API/DeviceLightEvent

桌面:

  • Firefox 22.0 (Gecko 22.0) (Mac OS X only)

移动:

  • Firefox 15.0 (Gecko 15.0)

CSS Media-Query

@media (light-level: dim) {
  /* 暗光环境 */
}

@media (light-level: normal) {
  /* 正常光环境 */
}

@media (light-level: washed) {
  /* 明亮环境 */
}

兼容性

https://developer.mozilla.org/zh-CN/docs/Web/CSS/@media/light-level

Working Draft,暂无支持

根据时间

示例:

暗光环境: [20,21,22,23,0,1,2,3,4,5]
正常环境: [6,7,8,17,18,19]
明亮环境: [9,10,11,12,13,14,15,16]

一般大概是这样,也可以根据地域和季节进行调整。

时间判断,加入class,GitBook插件源码: https://github.com/willin/gitbook-plugin-autotheme

查看演示: https://leader.js.cool/

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容