css - 如何在lit中动态设计风格?

标签 css web-component lit-element lit-html lit

美好时光 如何在lit中动态设计风格? 我的主要目标是根据用户在输入元素中的输入来更改元​​素的颜色。

My code screen shoot

最佳答案

在lit css标签函数中不能使用‍${}!

但是您可以选择元素然后更改样式

import {html, css, LitElement} from 'lit';
import {customElement, property, query} from 'lit/decorators.js';

@customElement('dynamic-style')
export class DynamicStyle extends LitElement {
  static styles = css`
    label {
      color: #023047;
    }
  `;

  @property()
  color: string;

  @query('input') input: HTMLSelectElement | undefined;
  @query('label') label: HTMLSelectElement | undefined;

  render() {
    return html`
      <label for="color-input">HEX color: </label>
      <input id="color-input" placeholder="#023047" />
    `;
  }

  firstUpdated() {
    this.input.addEventListener('input', () => {
      this.label.style.color = this.input.value;
    });
  }
}

lit playground

另请阅读: Dynamic classes and styles | Lit Doc

Use CSS variable in Lit

关于css - 如何在lit中动态设计风格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72250535/

相关文章:

javascript - 无法在 Node 中获取css文件

html - 如何在所有屏幕尺寸的网页上居中显示图像

javascript - 我如何控制 Bootstrap 中列的高度?

javascript - LitElement 不会为原生 Web 组件设置 textContent

html - 下拉过渡在 Safari 中不起作用

javascript - "Illegal invocation"调用新创建的 Web 组件对象的成员时出错

javascript - 动态添加 polymer 元素的就绪事件

javascript - 如何从元素绑定(bind)数据 Web 组件

reactjs - lit-element 和 React 之间的主要区别

JavaScript 导入 lit-element 在浏览器中出现 404 未找到错误