javascript - 根据所选主题悬停背景更改
问题描述
我正在开发一个具有 Light 和 Dark 两个主题的网站。我想根据所选主题更改链接的悬停背景。使用CSS更改悬停背景的方法是什么?
在深色背景上,我想让悬停背景透明以链接。
我尝试使用主题更改班级,但我不确定如何编写选择器以在班级更改时悬停。
<a href='' className={theme ? ' top_section_link ' : ' top_section_link_dark '}>
用于悬停在链接上的 CSS。它适用于轻主题,但如果我更改类,我不知道如何编写选择器。
.lead a:hover {
color: #2161f2;
background: #f0f4fe;
text-decoration: none;
border-bottom: 2px solid #2161f2;
}
解决方案
使悬停 css 代码依赖于链接。所以而不是
.lead a:hover { /* ... */ }
这样写:
.lead a.top_section_link:hover { /* Light/Default Theme Hover */ }
.lead a.top_section_link_dark:hover { /* Dark Theme Hover */ }
另一种方法是只在body
标签上切换一个类。这允许切换主题,而无需在 JS 代码中到处检查当前主题:
body.light-theme a:hover{}
body.dark-theme a:hover{}
/* with other elements: */
body.light-theme button{}
body.light-theme button:hover{}
body.dark-theme button{}
body.dark-theme button:hover{}
选择这种方式,SCSS
将使您的生活更轻松。
推荐阅读
- sql - 在 select 语句中使用函数,我可以在同一个 select 语句中使用函数的结果吗?
- php - 用 PHP 安排每月一次的活动
- python - 查找树中的所有后代
- python - scrapy - 使用正确的扩展名下载
- pyspark - Spark dataframe date_add 函数在不工作时带有大小写
- kubernetes - GKE 中的容器无法 ping 同一网络上的计算实例
- assets - Akeneo 调整资产变化的大小保持比例
- java - 如何从活动中启动特定的 tablayout 片段
- ios - react-navigation-fluid-transitions 共享图像闪烁
- python - PyQt5 TableView 杀死内核