跳至主内容
bilipan's Weblog

超简单的主题切换技巧

原先这个网站的代码高亮主题是默认暗色的,但是考虑到网站本身已经支持了跟随系统主题自动切换,所以为了保持统一,准备将代码高亮主题跟系统主题自动同步。

一开始我想的还是传统的方式,比如通过添加类,或是在css中添加media查询来实现。后来让AI去实现这个功能时,发现了一个更简单的方式,直接在<link />标签中添加media属性,利用prefers-color-scheme媒体查询在不同的系统主题下加载不同的样式。

<link rel="stylesheet" href="https://unpkg.com/prismjs@1.29.0/themes/prism.css" media="(prefers-color-scheme: light)">
<link rel="stylesheet" href="https://unpkg.com/prismjs@1.29.0/themes/prism-okaidia.css" media="(prefers-color-scheme: dark)">

分析了下这个方案,发现了一些有趣的细节。