File tree 2 files changed +54
-28
lines changed
2 files changed +54
-28
lines changed Original file line number Diff line number Diff line change 1
1
<!DOCTYPE html>
2
2
< html >
3
3
< head >
4
- < meta charset ="utf-8 ">
4
+ < meta charset ="utf-8 " / >
5
5
< title > :defined demo</ title >
6
- < script src ="main.js " defer > </ script >
7
6
< style >
8
- p {
9
- background : yellow;
7
+ custom-element {
8
+ display : block;
9
+ border : 5px dashed grey;
10
+ border-radius : 1rem ;
11
+ height : 100px ;
12
+ width : 400px ;
13
+ padding : 1rem ;
14
+ position : relative;
15
+ user-select : none;
10
16
}
11
17
12
- simple-custom {
13
- background : cyan ;
18
+ code {
19
+ background : # ccc ;
14
20
}
15
21
16
- : defined {
17
- font-style : italic;
22
+ # btn {
23
+ margin-top : 1rem ;
24
+ cursor : pointer;
18
25
}
19
26
20
- simple-custom : not (: defined ) {
21
- display : none;
27
+ custom-element : not (: defined ) {
28
+ border-color : grey;
29
+ color : grey;
22
30
}
23
31
24
- simple-custom : defined {
25
- display : block;
32
+ custom-element : defined {
33
+ background-color : wheat;
34
+ border-color : black;
35
+ color : black;
36
+ }
37
+
38
+ /* show loading message */
39
+ custom-element : not (: defined )::before {
40
+ content : "Loading..." ;
41
+ position : absolute;
42
+ inset : 0 0 0 0 ;
43
+ align-content : center;
44
+ text-align : center;
45
+ font-size : 2rem ;
46
+ background-color : white;
47
+ border-radius : 1rem ;
48
+ }
49
+
50
+ /* remove the loading message */
51
+ custom-element : defined ::before {
52
+ content : "" ;
26
53
}
27
54
</ style >
28
55
</ head >
29
56
< body >
30
- < h1 > < code > :defined</ code > demo</ h1 >
31
57
32
- < simple-custom text ="Custom element example text "> </ simple-custom >
58
+ < custom-element >
59
+ < p >
60
+ Loaded content: Lorem ipsum tel sed tellus eiusmod tellus. Aenean.
61
+ Semper dolor sit nisi. Elit porttitor nisi sit vivamus.
62
+ </ p >
63
+ </ custom-element >
64
+ < button id ="btn "> define the < code > <custom-element></ code > </ button >
65
+
66
+ < script >
67
+ const btn = document . querySelector ( "#btn" ) ;
33
68
34
- < p > Standard paragraph example text</ p >
69
+ btn . addEventListener ( "click" , ( ) => {
70
+ customElements . define ( "custom-element" , class extends HTMLElement { } ) ;
71
+ btn . remove ( ) ;
72
+ } ) ;
73
+ </ script >
35
74
36
75
</ body >
37
76
</ html >
Load Diff This file was deleted.
You can’t perform that action at this time.
0 commit comments