首页 文章

使用html类更改Sass中的$ primary,$ secondary颜色

提问于
浏览
1

我正在尝试创建一个Drupal站点,允许在单个页面上使用多个颜色主题,而不是整个主题 . 我在Drupal中有一个选择菜单,允许用户选择应该应用于页面的颜色主题 .

我使用此字段的值来设置页面模板的类 . 我现在想用这个类来改变Sass中的主要/次要颜色值 .

例如,如果用户选择蓝色,则在HTML模板中包装器就是,我希望Sass看起来像这样:

$primary: #0000ff;
$secondary: #000066;

并为每个主题改变这些值,绿色,黄色等 . 这可能吗?

2 回答

  • 0

    您可以使用它来创建头部中的if / else语句来调用与所选颜色相关的不同样式表,而不是使用该字段来更改主体类 .

    它需要创建多个样式表,但可能是一种解决方法 . 没有代码供应我害怕 .

    山姆

  • 0

    首先,你应该考虑切换CSS类,而不是SASS . 一旦你的网站启动并运行,sass已被编译,它已经是纯html和css,与SASS无关,对吗?

    所以在我看来,你的代码可能如下所示:

    上海社会科学院:

    $theme1-primary: #0000ff;
    $theme1-secondary: #000066;
    
    $theme1-primary: #0000ff;
    $theme1-secondary: #000066;
    
    .theme1 {
        color: $theme1-primary;
        background-color: $theme1-secondary;
    }
    
    .theme2 {
        color: $theme2-primary;
        background-color: $theme2-secondary;
    }
    

    HTML:

    <p class="`if something print theme1 else print theme2`"></p>
    

相关问题