From c08cf6ebc27318aff5f67b015a5d54240bdbf4c3 Mon Sep 17 00:00:00 2001 From: Sascha Schulz <sschulz@dh-software.de> Date: Mo, 19 Feb 2024 12:31:58 +0100 Subject: [PATCH] add web component styles exercise --- templates/009-web-components/web-component-styles.html | 16 ++++++++++++++++ templates/009-web-components/web-component-styles.js | 24 ++++++++++++++++++++++++ 2 files changed, 40 insertions(+), 0 deletions(-) diff --git a/templates/009-web-components/web-component-styles.html b/templates/009-web-components/web-component-styles.html new file mode 100644 index 0000000..68d3586 --- /dev/null +++ b/templates/009-web-components/web-component-styles.html @@ -0,0 +1,16 @@ +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="UTF-8"> + <title>Web Component Styles</title> + <script defer src="web-component-styles.js"></script> + </head> + <body> + <style> + /* Outer Styles */ + </style> + <my-component></my-component> + <div class="inner">Global Text with inner class</div> + <div class="outer">Global Text with outer class</div> + </body> +</html> diff --git a/templates/009-web-components/web-component-styles.js b/templates/009-web-components/web-component-styles.js new file mode 100644 index 0000000..692c9b2 --- /dev/null +++ b/templates/009-web-components/web-component-styles.js @@ -0,0 +1,24 @@ +class MyComponent extends HTMLElement { + constructor() { + super(); + + const shadowRoot = this.attachShadow({mode: "open"}); + + shadowRoot.innerHTML = ` + <style> + :host { + display: block; + } + + .inner { + /* Inner Styles */ + } + </style> + + <div class="inner">Web Component Text with inner class</div> + <div class="outer">Web Component Text with outer class</div> + `; + } +} + +window.customElements.define("my-component", MyComponent); -- Gitblit v1.9.3