<h1 class="block-effect" style="--td: 1.2s">
<div class="block-reveal" style="--bc: #4040bf; --d: .1s">Block</div>
<div class="block-reveal" style="--bc: #bf4060; --d: .5s">Revealing Effect</div>
</h1>
<div class="info">
<p>Change --td (total duration) to increase/decrease the time of the effect in HTML panel.</p>
</div>
<a href="https://abubakersaeed.netlify.app/designs/d12-block-revealing-effect" class="abs-site-link" rel="nofollow noreferrer" target="_blank">abs/designs/d12-block-revealing-effect</a>
/* reset */
*,
*::before,
*::after {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
display: flex;
flex-direction: column;
justify-content: space-around;
align-items: center;
min-height: 100vh;
padding: 20px;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
}
/* other */
.info {
margin: 20px 0;
text-align: center;
}
p {
color: #2e2e2e;
margin-bottom: 20px;
}
/* block-$ */
.block-effect {
font-size: calc(8px + 6vw);
}
.block-reveal {
--t: calc(var(--td) + var(--d));
color: transparent;
padding: 4px;
position: relative;
overflow: hidden;
animation: revealBlock 0s var(--t) forwards;
}
.block-reveal::after {
content: '';
width: 0%;
height: 100%;
padding-bottom: 4px;
position: absolute;
top: 0;
left: 0;
background: var(--bc);
animation: revealingIn var(--td) var(--d) forwards, revealingOut var(--td) var(--t) forwards;
}
/* animations */
@keyframes revealBlock {
100% {
color: #0f0f0f;
}
}
@keyframes revealingIn {
0% {
width: 0;
}
100% {
width: 100%;
}
}
@keyframes revealingOut {
0% {
transform: translateX(0);
}
100% {
transform: translateX(100%);
}
}
.abs-site-link {
position: fixed;
bottom: 20px;
left: 20px;
color: hsla(0, 0%, 0%, .6);
font-size: 16px;
}
// by
// @AbubakerSaeed96
// abubakersaeed.netlify.com
// ===============================
// Thank You for Viewing
This Pen doesn't use any external CSS resources.
This Pen doesn't use any external JavaScript resources.