夜街尘
夜街尘是一个致力于分享计算机编程知识的网站。它提供了许多实用的代码片段、技巧和教程,帮助开发者提高编程技能和解决问题。这个网站的宗旨是让编程变得更加轻松有趣,激发读者对计算机技术的热情。
CSS主题切换
为了适应夜间阅读习惯,夜街尘使用了matchMedia
方法检测用户的系统偏好设置,然后根据结果动态切换CSS主题。当用户选择暗黑模式时,网站会使用名为prism-okaidia.css
的主题;否则,会使用prism-ghcolors.css
的主题。这种方式可以根据用户的需求提供个性化的阅读体验。
let r = window.matchMedia('(prefers-color-scheme: dark)')
let cb = (isDark) => document.querySelector('#current-prismjs-theme').setAttribute('href', isDark? 'https://unpkg.com/prismjs@1.24.1/themes/prism-okaidia.css':'https://unpkg.com/prism-themes@1.8.0/themes/prism-ghcolors.css')
cb(r.matches)
r.addListener((e) => cb(r.matches))
上述代码首先使用window.matchMedia
方法创建一个媒体查询对象,用于检测系统的暗黑模式偏好设置。然后定义了一个回调函数cb
,该函数根据检测结果更新页面中当前使用的CSS主题。最后,通过addListener
方法监听媒体查询的变化,以便在用户切换系统设置时自动更新CSS主题。
背景图片轮播
夜街尘还提供了一组精美的背景图片,用户可以在浏览网页时随机更换背景。这些背景图片来自于作者AprilForest的个人博客,每一张图片都有独特的风格和氛围。通过在HTML中的指定位置插入相应的图片链接,可以实现背景图片的轮换效果。
window.backgrounds = ["https://res.aprilforest.cn/backgrounds/020fe9b4220c50b6302d13fd070cd32e.jpg","https://res.aprilforest.cn/backgrounds/04f1b46a2a9757bdad1867"]
上述代码将背景图片链接存储在一个名为window.backgrounds
的数组中。当需要更换背景时,可以使用JavaScript代码从数组中随机选取一张图片作为新的背景。这样可以为读者带来更加丰富的浏览体验。