Skip to content

Commit 6111ac1

Browse files
committed
Added features with CSS and JS
Added blur, size and color adjustable features using CSS variables manipulated by javascript.
1 parent ab78c20 commit 6111ac1

1 file changed

Lines changed: 24 additions & 1 deletion

File tree

03 - CSS Variables/index-START.html

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,22 @@ <h2>Update CSS Variables with <span class='hl'>JS</span></h2>
2222

2323
<style>
2424

25+
:root {
26+
--base: #ffc600;
27+
--spacing: 10px;
28+
--blur: 10px;
29+
}
30+
img {
31+
padding: var(--spacing);
32+
background: var(--base);
33+
filter: blur(var(--blur));
34+
}
35+
36+
.hl {
37+
color: var(--base);
38+
}
2539
/*
26-
misc styles, nothing to do with CSS variables
40+
misc styles, nothing to do with CSS variables. Above are CSS variables.
2741
*/
2842

2943
body {
@@ -48,6 +62,15 @@ <h2>Update CSS Variables with <span class='hl'>JS</span></h2>
4862
</style>
4963

5064
<script>
65+
const inputs = document.querySelectorAll(`.controls input`);
66+
67+
function handleUpdate() {
68+
const suffix = this.dataset.sizing || ''; //or nothing handles datasets with no value so we don't return null
69+
document.documentElement.style.setProperty(`--${this.name}`, this.value + suffix);
70+
}
71+
72+
inputs.forEach(input => input.addEventListener('change', handleUpdate));
73+
inputs.forEach(input => input.addEventListener('mousemove', handleUpdate));
5174
</script>
5275

5376
</body>

0 commit comments

Comments
 (0)