114 lines
2.6 KiB
HTML
114 lines
2.6 KiB
HTML
<html>
|
|
<head>
|
|
<style>
|
|
html {
|
|
background: grey;
|
|
}
|
|
.parent1 {
|
|
width: 500px;
|
|
background: blue;
|
|
}
|
|
.child1 {
|
|
background: green;
|
|
--my-custom-prop: 100px;
|
|
width: var(--my-custom-prop);
|
|
}
|
|
|
|
.parent2 {
|
|
width: 500px;
|
|
background: blue;
|
|
}
|
|
.child2 {
|
|
background: green;
|
|
width: var(--my-custom-prop2);
|
|
}
|
|
|
|
.parent3 {
|
|
width: 500px;
|
|
background: blue;
|
|
}
|
|
.child3 {
|
|
background: green;
|
|
width: var(--my-custom-prop3);
|
|
}
|
|
|
|
.parent4 {
|
|
width: 500px;
|
|
background: blue;
|
|
}
|
|
.child4 {
|
|
background: green;
|
|
width: var(--my-custom-prop2, 300px);
|
|
}
|
|
|
|
.parent5 {
|
|
width: 500px;
|
|
background: blue;
|
|
}
|
|
.child5 {
|
|
background: green;
|
|
width: var(--my-custom-prop3, 300px);
|
|
}
|
|
|
|
.parent6 {
|
|
width: 500px;
|
|
background: blue;
|
|
}
|
|
.child6 {
|
|
background: green;
|
|
--my-custom-prop: 100px;
|
|
width: var(--my-custom-prop3, --my-custom-prop1);
|
|
}
|
|
|
|
.parent7 {
|
|
width: 500px;
|
|
background: blue;
|
|
}
|
|
.child7 {
|
|
background: green;
|
|
--my-custom-prop: 100px;
|
|
width: var(--my-custom-prop4);
|
|
}
|
|
</style>
|
|
<script>
|
|
CSS.registerProperty({
|
|
name: '--my-custom-prop',
|
|
syntax: '<length>',
|
|
inherits: false,
|
|
initialValue: '200px'
|
|
})
|
|
|
|
CSS.registerProperty({
|
|
name: '--my-custom-prop2',
|
|
syntax: '<length>',
|
|
inherits: false,
|
|
initialValue: '200px'
|
|
})
|
|
|
|
CSS.registerProperty({
|
|
name: '--my-custom-prop4',
|
|
syntax: '<length>',
|
|
inherits: false,
|
|
initialValue: 'var(--my-custom-prop)'
|
|
})
|
|
</script>
|
|
</head>
|
|
<body>
|
|
<p> Single values </p>
|
|
<p> Specified </p>
|
|
<div class="parent1"><div class="child1"><p>100px green</p></div> </div>
|
|
<p> Not specified, use initial value </p>
|
|
<div class="parent2"><div class="child2"><p>200px green</p></div> </div>
|
|
<p> Not specified, but not registered so use initial value for width </p>
|
|
<div class="parent3"><div class="child3"><p>500px green</p></div> </div>
|
|
<p> Has a fallback for registered property </p>
|
|
<div class="parent4"><div class="child4"><p>200px green</p></div> </div>
|
|
<p> Has a fallback for unregistered property </p>
|
|
<div class="parent5"><div class="child5"><p>300px green</p></div> </div>
|
|
<p> Having a fallback for a registered property that is a variable should not work</p>
|
|
<div class="parent6"><div class="child6"><p>500px green</p></div> </div>
|
|
<p> Having a variable in the initial value should not work</p>
|
|
<div class="parent7"><div class="child7"><p>500px green</p></div> </div>
|
|
</body>
|
|
</html>
|