В течение многих лет я управлял своими (многими) элементами STYLE с помощью шаблона:
[ упрощенный код для краткости ]
<STYLE id="theme1" onload="myStyleManager.init(this)">
...
</STYLE>
<STYLE id="theme2" onload="myStyleManager.init(this)">
...
</STYLE>
<STYLE id="devmode" onload="myStyleManager.init(this)">
...
</STYLE>
In myStyleManager
Iзатем можно легко
- отключить / включить определения STYLE
- добавить / удалить правила
- и т. д.
Настраиваемые элементы Цель:
Заменить <STYLE>
на <CARDTS-STYLE>
, чтобы я мог инициировать в connectedCallback
:
class StyleElement extends HTMLStyleElement {
constructor() {
super();
}
connectedCallback() {
myStyleManager.init(this);
}
}
__defineElement('cardts-style', StyleElement);
Это (конечно) не работает, потому что я могу только расширить HTMLElement
0 результатов поиска в StackOverflow для [пользовательский элемент] HTMLStyleElement
И остальная часть Интернета также не имеет указателей.
Вопросы:
- Можно ли расширить STYLE?
- Лучше ли оборачивать CARDTS-STYLE вокруг дочернего элемента STYLE?