我正在使用 lit html 在我的项目中创建自定义 Web 组件。我的问题是,当我尝试在 Web 组件中使用 CSS 目标选择器时,它不会被触发,但是当我在没有自定义组件的情况下执行此操作时,代码可以完美运行。有人可以解释为什么会发生这种情况以及解决这个问题的方法是什么?这是我的代码:
目标测试元素.js:
import { LitElement, html} from '@polymer/lit-element';
class TargetTest extends LitElement {
render(){
return html`
<link rel="stylesheet" href="target-test-element.css">
<div class="target-test" id="target-test">
<p>Hello from test</p>
</div>
`;
}
}
customElements.define('target-test-element', TargetTest);
具有以下样式:
目标测试元素.css:
.target-test{
background: yellow;
}
.target-test:target {
background: blue;
}
我在 index.html 中创建了一个链接:
index.html(带有自定义组件):
<!DOCTYPE html>
<head>
...
</head>
<body>
<target-test-element></target-test-element>
<a href="#target-test">Link</a>
</body>
</html>
这是有效的:
index.html(没有自定义组件)
<!DOCTYPE html>
<head>
...
</head>
<body>
<a href="#target-test">Link</a>
<div class="target-test" id="target-test">
Hello
</div>
</body>
</html>