gpt4 book ai didi

css - MDC-Web CSS 主题颜色未定义

转载 作者:太空宇宙 更新时间:2023-11-04 06:09:29 24 4
gpt4 key购买 nike

当我在本地运行我的前端时,我检查了按钮元素并且颜色 --mdc-theme-primary 没有定义,即使它是。

检查元素:

Index.html:

<button class="mdc-tab mdc-tab--active" aria-selected="true" tabindex="0">
<span class="mdc-tab__content">
<span class="mdc-tab__text-label">Home</span>
</span>
</button>

Firefox Inspect 元素结果,--mdc-theme-primary 未使用回退值定义:

.mdc-tab--active .mdc-tab__text-label {
color: #e3f2fd;//this line is disabled in console is dashed
color: var(--mdc-theme-primary, #e3f2fd);
}

使用 Theming Guide !我已按如下方式设置我的文件:

_themecolor.scss

$mdc-theme-primary: #e3f2fd;
$mdc-theme-on-primary: #442C2E;
$mdc-theme-secondary: #0d48a1;
$mdc-theme-on-secondary: rgb(235, 15, 33);
$mdc-theme-surface: #000000;
$mdc-theme-on-surface: #442C2E;
$mdc-theme-background: #000000;
$mdc-theme-on-background: #442C2E;

_variables.scss(用于完成,不需要)

.topAppBar-margin-fix {
top: 0;
left: 0;
}

app.scss

@import "./_themecolor";
@import "./_variables";


@import "@material/top-app-bar/mdc-top-app-bar";

@import "@material/typography/mdc-typography";

@import "@material/button/mdc-button";

@import "@material/tab-bar/mdc-tab-bar";
@import "@material/tab-bar/mixins";
@import "@material/tab-scroller/mdc-tab-scroller";
@import "@material/tab-indicator/mdc-tab-indicator";
@import "@material/tab-indicator/mixins";
@import "@material/tab/mdc-tab";
@import "@material/tab/mixins";

.mdc-tab__text-label{
//@include mdc-tab-active-text-label-color(on-primary);
//--mdc-theme-primary: red;
//--mdc-theme-primary: $mdc-theme-on-secondary;
}

body {
color: blue;

}

app.js

import {MDCTabBar} from '@material/tab-bar';

const tabBar = new MDCTabBar(document.querySelector('.mdc-tab-bar'));

import {MDCTabScroller} from '@material/tab-scroller';

const tabScroller = new MDCTabScroller(document.querySelector('.mdc-tab-scroller'));

import {MDCTab} from '@material/tab';

const tab = new MDCTab(document.querySelector('.mdc-tab'));

在滚动条内提供此站点时,按钮中 Home 标签的颜色是后备颜色,而不是主要颜色或我使用混合设置的任何颜色。我试过:

案例一)

.mdc-tab__text-label{
@include mdc-tab-active-text-label-color(on-primary);
}

案例 b)

.mdc-tab__text-label{
--mdc-theme-primary: red;
}

案例 c)

.mdc-tab__text-label{
--mdc-theme-primary: $mdc-theme-on-secondary;
}

情况 a) 也尝试使用一种简单的颜色作为“红色”,但使用的颜色仍然是后备颜色。

情况 b) 按预期工作为红色。

情况 c) 标签颜色是黑色而不是红色,如 themecolor.scss

中定义的 $mdc-theme-on-secondary

还尝试了 a) b) 和 c)

.mdc-tab--active .mdc-tab__text-label{
//repeating each case, only working the one with "red" value.
}

我认为我犯的错误:

1- 我使用了错误的 mixin 来设置标签颜色。

2- 我在 themecolor.scc 中错误地使用了定义的颜色变量,因为我不知道 css。

3- 我的包含有问题。

4- 我的 SASS 变量没有被编译吗?

问题为什么没有定义--mdc-theme-primary?为什么我不能指向 themecolor.scss 中定义的颜色?

感谢任何帮助。

最佳答案

我通过做一些指南中没有解释的事情来解决这个问题。当你想使用主题时,你必须将主题组件导入到你的元素中,如下所示:

app.scss

@import "./_themecolor";
@import "./_variables";

//----add these lines after custom imports-----
@import "@material/theme/mdc-theme";
@import "@material/theme/mixins";
//---------------------------------------------

@import "@material/top-app-bar/mdc-top-app-bar";

不需要其他任何东西,所有颜色都将被定义。

谢谢你。希望这对新手有帮助。

关于css - MDC-Web CSS 主题颜色未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56544374/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com