javascript - 模具 |将宿主样式应用于组件

标签 javascript stenciljs

我正在尝试应用来自包含 stencilJS 组件的网站的样式……但不知道如何操作。

import { Component } from '@stencil/core';

@Component({
  tag: 'menu-component',
  styleUrl: 'menu-component.css',
  shadow: true
})

export class MyComponent {

 render() {
    return (
      <div>
        <h1>Hello World</h1>
        <p id="red">This is JSX!</p>
      </div>
    );
  }
}

组件是这样包含的:

<link rel="stylesheet" href="css/main.css" type="text/css" />
<script src='https://unpkg.com/component@0.0.2/dist/mycomponent.js'></script>
<my-component></my-component>

在我的 main.css 文件中我有这样的东西:

#red{
    color: red;
}

我希望将样式应用于模板组件中的元素。这可能吗?

最佳答案

您可以使用 css variables为了这。 查看以下代码示例:

index.html

<my-component style="--text-color:red;"></my-component>

my-component.css

#red {
    color: var(--text-color, black);
}

在组件的样式中,您将 CSS 变量作为值分配给类的文本颜色 [id="red"] .在您的应用程序中,您现在可以通过设置变量的值来更改颜色。

关于javascript - 模具 |将宿主样式应用于组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54255298/

相关文章:

javascript - React js,根据值设置类

javascript - 如何将 JSX 导入 .tsx 文件(不在 React 中)?

javascript - Chrome 扩展 xmlHttpRequest 不起作用

javascript - 在多个框架上分配长时间运行的任务的最佳方法是什么?

javascript - 当我在 PHP 中包含 jQuery slider /横幅时,jQuery 日期选择器不起作用

javascript - MSAL 如何读取 token 的到期日期?

javascript - 如何在 Stencil.js 中使用外部第三方库

css - 在 Stenciljs 中单击更改 CSS 类

javascript - 如何在带有 Nuxt.js 的项目中使用 stencil.js 进行 SSR(以及 SSR)

javascript - 如何将多个值从表单中的输入推送到 mongoose.model 中的对象数组?