【发布时间】:2022-11-07 23:16:43
【问题描述】:
我正在尝试使用和自定义 side navigation component 但我无法更改它的背景颜色,例如
ui5-side-navigation { background-color: yellow; }
对组件没有任何影响。
所以问题是:
- 我可以自定义这个组件吗?
- 如果是,我如何更改它的 css 特性?
谢谢
【问题讨论】:
我正在尝试使用和自定义 side navigation component 但我无法更改它的背景颜色,例如
ui5-side-navigation { background-color: yellow; }
对组件没有任何影响。
所以问题是:
谢谢
【问题讨论】:
首先,文档有一个section on themes,但这意味着使用 BTP 上的主题设计器创建一个完整的主题。
上面的代码不起作用的原因是 Web Components 使用了shadow DOM,当您在调试器工具中检查元素时可以看到它。
Shadow DOM 是完全封装的,所以它有自己的样式。向 shadow DOM 添加样式的一种方法是插入样式表,如下所示:
const styleElement = document.createElement("style");
const sideNavigation = document.getElementsByTagName("ui5-side-navigation")[0];
styleElement.innerText = `div { background: yellow !important; }`;
sideNavigation.shadowRoot.prepend(styleElement);
这是code sandbox 中的一个示例
【讨论】:
或者,您可以在 ui5 组件上尝试内联 CSS,如下所示:
<ui5-input [attr.style]="'background-color: yellow'"></ui5-input>
对于您的示例,请使用 ui5-side-navigation 而不是输入
【讨论】: