У меня есть компонент Native V1, который не использует shadowDOM, поэтому я помещаю свой CSS в файл <head>
. Но когда кто-то другой использует мой компонент, мой CSS больше не работает.
Это происходит только в том случае, если их компонент использует shadowDOM.
Пример кода для моего компонента:
class MyEl extends HTMLElement {
constructor() {
super();
}
connectedCallback() {
this.innerHTML = `<div class="spaced"><button class="happy-btn">I'm Happy</button></div>
<div class="spaced"><button class="sad-btn">I'm Sad</button></div>`;
}
}
// Define our web component
customElements.define('my-el', MyEl);
button {
padding: 8px 20px;
}
.happy-btn {
background-color: pink;
}
.sad-btn {
background-color: #007;
color: white;
}
<my-el></my-el>
Мой CSS загружается в тег <head>
, так как я не использую shadowDOM. Но как только внешний элемент включает меня в свой shadowDOM, все разваливается.