Веб-компоненты состоят из 3 основных частей: Custom Element, Shadow DOM, HTML template. Вместе они реализуют функциональность, которую можно повторно использовать в любое время и в любом месте, не опасаясь конфликтов кода.
Метка: shadow dom
CSS для веб-компонентов
Переиспользуемые компоненты: Custom Elements, Shadow DOM и NPM
Пример от создания простого веб-компонента, с придуманным HTML-тегом, Shadow DOM до публикации его в реестре NPM.