Card css hover efeito slideUp
data filter javascript
Menu flexbox com html e css
Card css hover efeito slideUp
Neste tutorial vamos criar um card efeito slideup com HTML e CSS.
Nesta seção, projetaremos uma estrutura simples na tag <ul>, <li>, <img>, e a <a> para inserir o link de destino.
Usaremos as classes (.box-card, .card, .content-card, .titulo, .descricao, .btn ) para dar o formato e estilizar com css.
Essas são as tags e classes que usaremos para criar o nosso Card css hover.
Vamos Adicionar o HTML
<div class="box-card">
<div class="card">
<div class="content-card">
<h2 class="titulo">Loop Nerd</h2>
<p class="descricao">Códigos html e css prontos para agilizar o seu tempo.</p>
<a href="#" class="btn">Veja mais...</a>
</div>
</div>
</div>
Vamos Adicionar o CSS
Nesta seção, usaremos algumas propriedades CSS para estilizar o nosso Card.
.box-card {
display: grid;
grid-gap: 1rem;
padding: 1rem;
max-width: 300px;
margin: 0 auto;
font-family: 'open_sansregular';
}
.card {
position: relative;
display: flex;
align-items: flex-end;
overflow: hidden;
padding: 1rem;
width: 100%;
text-align: center;
color: whitesmoke;
background-color: whitesmoke;
box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1), 0 2px 2px rgba(0, 0, 0, 0.1), 0 4px 4px rgba(0, 0, 0, 0.1), 0 8px 8px rgba(0, 0, 0, 0.1), 0 16px 16px rgba(0, 0, 0, 0.1);
}
@media (min-width: 600px) {
.card { height: 350px; }
}
.card:before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 110%;
background-size: cover;
background-position: 0 0;
transition: transform calc(700ms * 1.5) cubic-bezier(0.19, 1, 0.22, 1);
pointer-events: none;
}
.card:after {
content: "";
display: block;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 200%;
pointer-events: none;
background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.009) 11.7%, rgba(0, 0, 0, 0.034) 22.1%, rgba(0, 0, 0, 0.072) 31.2%, rgba(0, 0, 0, 0.123) 39.4%, rgba(0, 0, 0, 0.182) 46.6%, rgba(0, 0, 0, 0.249) 53.1%, rgba(0, 0, 0, 0.32) 58.9%, rgba(0, 0, 0, 0.394) 64.3%, rgba(0, 0, 0, 0.468) 69.3%, rgba(0, 0, 0, 0.54) 74.1%, rgba(0, 0, 0, 0.607) 78.8%, rgba(0, 0, 0, 0.668) 83.6%, rgba(0, 0, 0, 0.721) 88.7%, rgba(0, 0, 0, 0.762) 94.1%, rgba(0, 0, 0, 0.79) 100%);
transform: translateY(-50%);
transition: transform calc(700ms * 2) cubic-bezier(0.19, 1, 0.22, 1);
}
.card:before {
background-image: url('../uploads/foto.jpg');
}
.content-card {
position: relative;
display: flex;
flex-direction: column;
align-items: center;
width: 100%;
padding: 1rem;
transition: transform calc(700ms * 1.5) cubic-bezier(0.19, 1, 0.22, 1);
z-index: 1;
}
.content-card > * + * {
margin-top: 1rem;
}
.titulo {
font-size: 1.5em;
font-weight: bold;
line-height: 1.2;
}
.descricao {
font-family: 'open_sansregular';
font-size: 1em;
font-style: italic;
line-height: 1.35;
}
.btn {
cursor: pointer;
margin-top: 1.6em;
padding: 0.8em 1.3em;
font-size: 0.8em;
font-weight: bold;
text-transform: uppercase;
color: #fff;
background-color: #067efe;
border: none;
border-radius: 6px;
letter-spacing: 0.10em;
text-decoration: none;
transition: 0.5s!important;
}
.btn:hover { background-color: #fff; color:#067efe }
@media (hover: hover) and (min-width: 600px) {
.card:after { transform: translateY(0); }
.content-card { transform: translateY(calc(100% - 4.5rem)); }
.content-card > *:not(.titulo) {
opacity: 0;
transform: translateY(1rem);
transition: transform 700ms cubic-bezier(0.19, 1, 0.22, 1), opacity 700ms cubic-bezier(0.19, 1, 0.22, 1);
}
.card:hover,
.card:focus-within {
align-items: center;
}
.card:hover:before,
.card:focus-within:before {
transform: translateY(-4%);
}
.card:hover:after,
.card:focus-within:after {
transform: translateY(-50%);
}
.card:hover .content-card,
.card:focus-within .content-card {
transform: translateY(0);
}
.card:hover .content-card > *:not(.titulo),
.card:focus-within .content-card > *:not(.titulo) {
opacity: 1;
transform: translateY(0);
transition-delay: calc(700ms / 8);
}
.card:focus-within:before, .card:focus-within:after,
.card:focus-within .content-card,
.card:focus-within .content-card > *:not(.titulo) {
transition-duration: 0s;
}
}
Combinando as Duas seções acima Html e Css temos o seguinte Resultado!
Veja o Resultado baixo!


Deixe um comentário