css - Sass Themes - 是否可以使用变量创建样式?
问题描述
我是 sass 的新手,我正在尝试构建自己的框架,但我想知道是否可以创建例如主题。我知道它可能,但我不确定它是我需要使用的变量还是@mixin 或@extend?
我试过添加这个,但它不起作用。
$theme1: h1,h2,h3,h4,h5 {font-family:Arial, Helvetica, sans-serif}
$theme2: h2,h3,h4,h5 {font-family:Arial, Roboto, sans-serif}
它可能看起来没用,但如果我能做到这一点,那么如果要更改主题的整个字体而不是除了一般使用 (body) 之外,将所有这些主要元素作为目标,那肯定会很方便。
我曾尝试在网上查找,但并没有真正涵盖在 sass 中创建自己的框架。
任何信息将不胜感激!
最诚挚的问候,B
解决方案
你可以使用你的类名作为变量,如:
.#{$theme1} {
h1,h2,h3,h4,h5 {font-family:Arial, Helvetica, sans-serif}
}
但是如果你想根据你的主题自定义一些样式,你可以使用如下代码的条件:
body {
@if $theme1 {
// Manually use the if/else instead of the mixin
h1,h2,h3,h4,h5 {font-family:Arial, Helvetica, sans-serif}
}
@else {
// Otherwise
h2,h3,h4,h5 {font-family:Arial, Roboto, sans-serif}
}
}
有关更多信息,您可以访问以下链接:
SCSS 变量类名 , https: //css-tricks.com/snippets/sass/use-sass-variable-selector/
推荐阅读
- android-room - 当方法返回 RxJava Completable 时,Android Room 生成带有错误的 DAO
- c# - 带有偏移量和获取的 SQL 查询
- python - FileNotFoundError with absolute path when trying to read tarball
- c# - 如何从带有 selenium c# 的组合框中进行选择?
- ssl - Joomla 3.9.0 管理员 https 问题
- ios - 使用 SKPhysics body 检测碰撞
- python - Python3 asyncio - 在自己的线程中运行两个服务器
- php - Lumen 根据请求选择特定文件作为默认路由器
- c# - tensorflow批量归一化冻结
- visual-studio-2017 - 如何使解决方案资源管理器仅搜索文件名