Compare commits

..

5 Commits

Author SHA1 Message Date
b286e2e889 Overflow click animation 2021-01-03 01:06:46 +01:00
1dab0fcf97 Firefox support 2021-01-03 01:04:37 +01:00
3737631412 CSS class typo 2021-01-03 00:03:51 +01:00
e94805c897 Fontawesome after support for filter usage 2021-01-02 23:50:42 +01:00
54f39d0ad8 Backdrop replacement v1 2021-01-02 23:20:45 +01:00
4 changed files with 55 additions and 20 deletions

File diff suppressed because one or more lines are too long

View File

@@ -1,3 +1,8 @@
:root {
--btn-dark: #1C1C1C;
--btn-light: #E3E3E3;
}
@font-face {
font-family: 'Lato';
src: url('fonts/Lato-Regular.ttf');
@@ -16,6 +21,8 @@ body {
grid-template-rows: 1fr;
width: 100vw;
height: 100vh;
overflow: hidden;
}
main {
@@ -29,9 +36,6 @@ main {
place-items: center;
}
.btn {
}
.btn:focus {
outline: none;
}
@@ -43,7 +47,6 @@ main {
position: relative;
padding: 2.2rem;
margin: -.4rem;
width: 0;
height: 0;
@@ -55,25 +58,56 @@ main {
border-radius: 100vw;
}
.btn.cbtn::after {
content: "";
.btn.cbtn {
--padding: 5vmin;
padding: var(--padding);
font-size: 3vmin;
}
.btn.cbtn.medium {
--padding: 5vmin;
padding: var(--padding);
font-size: 3vmin;
}
.btn.cbtn.big {
--padding: 30vmin;
padding: var(--padding);
font-size: 20vmin;
}
.btn.cbtn.overlap {
margin: -1vmin;
}
.btn.cbtn > i {
display: grid;
place-items: center;
}
.btn.cbtn > i::after {
display: grid;
place-content: center;
position: absolute;
z-index: 1000;
overflow: hidden;
padding: 0rem;
background: var(--btn-light);
color: var(--btn-dark);
filter: invert(1);
width: 0;
height: 0;
border-radius: 100vw;
backdrop-filter: invert(1);
transition: padding .2s;
}
/* When deployed on a platform, choose one or the other, not both */
.btn.cbtn:focus::after, /* TV */
.btn.cbtn:hover::after /* PC */ {
padding: inherit;
.btn.cbtn:focus > i::after, /* TV */
.btn.cbtn:hover > i::after /* PC */ {
padding: var(--padding);
}
@keyframes cbtn-click {
@@ -82,7 +116,7 @@ main {
opacity: 1;
}
to {
padding: inherit;
padding: calc(var(--padding) * 1.3);
opacity: 0;
}
}
@@ -109,6 +143,7 @@ main {
text-decoration: none;
font-family: Lato;
}
.btn.sbtn::after {
}

View File

@@ -2,11 +2,11 @@ addEventListener("load", () => {
const onAnimationFinished = (e) => {
e.target.remove();
};
const onClick = (e) => {
const onClick = (e, btn) => {
const clickElement = document.createElement("div");
clickElement.className = "click";
clickElement.addEventListener("animationend", onAnimationFinished);
e.target.appendChild(clickElement);
btn.appendChild(clickElement);
};
for (const btn of document.getElementsByClassName("btn")) {
btn.addEventListener("focusin", () => {
@@ -15,6 +15,6 @@ addEventListener("load", () => {
btn.addEventListener("focusout", () => {
console.log("OUT");
});
btn.addEventListener("click", onClick);
btn.addEventListener("click", (e) => onClick(e, btn) );
};
});

View File

@@ -11,10 +11,10 @@
</head>
<body>
<main class="grid center">
<button class="btn cbtn"><i class="fas fa-cog"></i></button>
<button class="btn cbtn"><i class="fas fa-cog"></i></button>
<button class="btn cbtn"><i class="fas fa-cog"></i></button>
<button class="btn cbtn"><i class="fas fa-cog"></i></button>
<button class="btn cbtn"><i class="fas fa-cog after"></i></button>
<button class="btn cbtn"><i class="fas fa-cog after"></i></button>
<button class="btn cbtn"><i class="fas fa-cog after"></i></button>
<button class="btn cbtn"><i class="fas fa-cog after"></i></button>
</main>
</body>
</html>