HTML
<div class="card-22">
<div class="card-22__grid"></div>
<div class="card-22__marks">
<div class="card-22__mark card-22__mark--tl"></div>
<div class="card-22__mark card-22__mark--tr"></div>
<div class="card-22__mark card-22__mark--bl"></div>
<div class="card-22__mark card-22__mark--br"></div>
</div>
<div class="card-22__content">
<span class="card-22__label">// BLUEPRINT</span>
<h4 class="card-22__title">Blueprint</h4>
<p class="card-22__body">Grid lines and corner marks appear on hover.</p>
</div>
</div> CSS
/* Demo 22 has its own title/body color transitions, so it owns those rules. */
.card-22 {
width: 100%;
max-width: 280px;
position: relative;
overflow: hidden;
padding: 22px;
border-radius: 14px;
background: #17171f;
border: 1px solid rgba(255, 255, 255, 0.08);
cursor: pointer;
transition:
background 0.4s,
border-color 0.4s,
box-shadow 0.4s;
}
.card-22:hover {
background: #041428;
border-color: rgba(61, 232, 245, 0.5);
box-shadow:
0 0 32px rgba(61, 232, 245, 0.1),
inset 0 0 32px rgba(61, 232, 245, 0.04);
}
.card-22__grid {
position: absolute;
inset: 0;
background-image:
linear-gradient(rgba(61, 232, 245, 0.08) 1px, transparent 1px),
linear-gradient(90deg, rgba(61, 232, 245, 0.08) 1px, transparent 1px);
background-size: 20px 20px;
opacity: 0;
transition: opacity 0.4s;
}
.card-22:hover .card-22__grid {
opacity: 1;
}
.card-22__marks {
position: absolute;
inset: 0;
z-index: 1;
}
.card-22__mark {
position: absolute;
width: 14px;
height: 14px;
opacity: 0;
transition: opacity 0.3s 0.15s;
}
.card-22__mark::before,
.card-22__mark::after {
content: "";
position: absolute;
background: rgba(61, 232, 245, 0.7);
}
.card-22__mark::before {
width: 1px;
height: 100%;
left: 50%;
}
.card-22__mark::after {
width: 100%;
height: 1px;
top: 50%;
}
.card-22__mark--tl { top: 10px; left: 10px; }
.card-22__mark--tr { top: 10px; right: 10px; }
.card-22__mark--bl { bottom: 10px; left: 10px; }
.card-22__mark--br { bottom: 10px; right: 10px; }
.card-22:hover .card-22__mark {
opacity: 1;
}
.card-22__content {
position: relative;
z-index: 2;
}
.card-22__label {
font-family: monospace;
font-size: 10px;
color: rgba(61, 232, 245, 0.5);
letter-spacing: 0.12em;
text-transform: uppercase;
display: block;
margin-bottom: 6px;
opacity: 0;
transition: opacity 0.3s 0.1s;
}
.card-22:hover .card-22__label {
opacity: 1;
}
.card-22__title {
font-size: 18px;
font-weight: 700;
color: #f0eeff;
margin-bottom: 6px;
transition: color 0.35s;
}
.card-22__body {
font-size: 13px;
color: #b8b6d4;
line-height: 1.6;
transition: color 0.35s;
}
.card-22:hover .card-22__title {
color: #3de8f5;
}
.card-22:hover .card-22__body {
color: rgba(61, 232, 245, 0.6);
}