# dark-mode-toggle **Repository Path**: haiyongcsdn/dark-mode-toggle ## Basic Information - **Project Name**: dark-mode-toggle - **Description**: 没有Javascript的亮暗模式切换 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2021-03-15 - **Last Updated**: 2021-05-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # dark-mode-toggle #### 介绍 没有Javascript的亮暗模式切换  建立仅`html`和`css`的亮暗模式切换的快速指南。文章末尾给出了完整代码 演示效果: 使用css,html我们将建立一个按钮,该按钮: - `light-mode`和`dark-mode`之间的变化 - 默认为用户首选的配色方案 - 更改标签以反映用户的首选配色方案。 ## 为什么没有JavaScript? 我的目标之一是使每个工具都可以不使用javascript,以一定程度上简化代码,同时也是个挑战。 我需要一种`dark-mode` 无需`javascript`进行切换的方法,同时仍然默认为`visitor preferred-color-scheme`。 这是我的解决方案,针对本教程进行了简化: ## 怎么运行的: 大多数dark-mode切换按钮的工作方式是更改
标签上的属性,然后在CSS中定位该属性。像这样: ```css ``` 这非常简单,但是需要`javascript`添加和删除`dark-mode class`。 幸运的是,我们仍然可以在没有样式的情况下对样式进行更改`javascript`。我们可以CSS用来定位非`JavaScript`用户互动。 在这里,我们将使用`checkbox`和`:checked`伪选择器: ```html ``` 我们需要确保输入是我们中的第一件事,因此我们可以将CSS之后的所有内容作为目标。 ```css body { background:white } #dark-mode:checked ~ * { background:black } ``` 但这是有问题的! `CSS`中没有办法将元素的父对象作为目标。 因此,我们无法更改``的颜色。 因此,我们将使用变通方法。 我们将在完成``工作的复选框后放置`