Amigos, bom dia!
Ao fazer a animação da classe .palavras, assim como foi sugerido no exercicio, eu consegui que elas aparecessem sem opacidade e com scale de 0.001. porém, ao final da animação elas "pulam" para o tamanho original, de uma forma brusca, bem feia. Como posso fazer para que essa transição ocorra do 0% a 100% de forma linear? (como podem ver já inclui o atributo linear na tag animation e não resolveu.)
Obrigado!
.titulo-principal {
background-size: 100% 200px;
background-repeat: no-repeat;
position: relative;
}
html, body {
height: 100%;
overflow-x: hidden;
}
body {
perspective: 6px;
perspective-origin: 50% 160px;
}
.palavras, .titulo-principal {
transform-style: preserve-3d;
}
.foto-home {
height: 200px;
border-radius: 50%;
}
.saudacao p {
font-size: 1.5em;
color: #99A;
line-height: 1;
padding: 2em;
}
.saudacao:hover em,
.saudacao:focus em{
-webkit-animation-play-state:paused;
animation-play-state:paused;
}
.saudacao-inicio {
font-size: 3em;
color: #889;
}
.saudacao-ultima-linha {
text-align: right;
display: block;
}
.saudacao strong {
font-size: 2em;
color: #000;
}
.saudacao em {
color: #851944;
font-size: 4em;
display: inline-block;
transform: rotate(-5deg) skew(-10deg);
-webkit-animation: flutua 2s;
animation: flutua .5s infinite;
position: relative;
animation-direction: alternate;
animation-timing-function: ease-in-out;
}
@keyframes flutua{
0%{
top:-5px;
}
100%{
top:5px;
}
}
-webkit-@keyframes flutua{
0%{
top:-5px;
}
100%{
top:5px;
}
}
.banner-twitter {
width: 16em;
line-height: 1;
padding: 1em 0;
box-sizing: border-box;
text-align: center;
text-decoration: none;
background-color: #3C1D3D;
color: white;
border: .25em solid black;
font-size: 1.2em;
font-family: "Open Sans Condensed", sans-serif;
position: absolute;
bottom: 110%;
right: 0;
transform-origin: 0 0;
transform: translate(calc(.707*(3.5em - 100%) + 100%), calc(.707*3.5em)) rotate(45deg);
-webkit-animation: aparece .5s;
animation: aparece .5s;
animation-delay: 2s;
animation-fill-mode:backwards;
}
.subtitulo-principal a{
text-align: center;
text-decoration: none;
color: #FFF;
font-size: 1em;
}
.botao-index {
font-size: 1.25em;
background-color: #851944;
color: #FFF;
padding: .5em;
border: .2em solid black;
width: 40ch;
margin: 2em auto;
display: block;
text-align: center;
transition:.5s;
}
.secao-inicio {
padding: 2em;
}
.secao-inicio h2 {
font-size: 3em;
text-transform: uppercase;
margin-bottom: .5em;
}
.trabalhos {
background-color: #3C1D3D;
border-top: .5em solid #000;
border-bottom: .5em solid #000;
background-image:linear-gradient(135deg, transparent, transparent 14px, rgba(0,0,0,.1) 14px, rgba(0,0,0,.1) 15px, transparent 15px, transparent);
background-size: 20px 20px;
background-attachment: fixed;
}
.trabalhos h2 {
color: #FFF;
}
.trabalhos ul {
overflow: hidden;
border: .5em solid black;
}
.trabalhos li {
float: left;
width: 33.333%;
}
.trabalhos img {
width: 100%;
display: block;
}
.blog {
background-color: #999;
background-image:linear-gradient(45deg, transparent, transparent 14px, rgba(255, 255, 255, 0.1) 14px, rgba(255, 255, 255, 0.1) 15px, transparent 15px, transparent);
background-size: 20px 20px;
background-attachment: fixed;
position: relative;
color: #FFF;
border-bottom: .5em solid #851944;
}
.blog small {
position: relative;
top: -2em;
}
.blog li {
width: 30%;
}
.blog li a {
color: #FCF;
padding: .5em;
display: block;
}
footer {
background-color: #000;
color: #FFF;
padding: 2em;
}
footer h2 {
font-size: 3em;
}
footer a {
color: #F99;
}
main {
width: 100%;
padding-bottom: 0;
float: none;
}
.palavra-home {
font-family: "Shadows Into Light", cursive;
font-weight: bold;
color: #D5447E;
position: absolute;
font-size: 400%;
}
.palavras {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
-webkit-animation: aparece 2s linear;
animation: aparece 2s linear;
animation-timing-function: ease-in-out;
}
-webkit-@keyframes aparece{
from{
opacity: 0;
transform: scale(0.001);
}
to{
opacity: 1;
}
}
@keyframes aparece{
from{
opacity: 0;
transform: scale(0.001);
}
}
.eficiencia {
top: 50%;
left: 60%;
transform: translate(-50%, -50%) translateZ(4px) rotate(-5deg) scale(.25);
opacity: .8;
}
.boas-praticas {
top: 70%;
left: 20%;
transform: translate(-50%, -50%) translateZ(1px) rotate(10deg) scale(.25);
opacity: .3;
}
.codigo-limpo {
top: 45%;
left: 25%;
transform: translate(-50%, -50%) translateZ(2px) rotate(-10deg) scale(.25);
opacity: .6;
}
.css3 {
top: 55%;
left: 35%;
transform: translate(-50%, -50%) translateZ(2px) rotate(5deg) scale(.25);
opacity: .6;
}
.html5 {
top: 30%;
left: 65%;
transform: translate(-50%, -50%) translateZ(2px) rotate(10deg) scale(.25);
opacity: .6;
}
.javascript {
top: 15%;
left: 60%;
transform: translate(-50%, -50%) translateZ(1px) rotate(-5deg) scale(.25);
opacity: .3;
}
.acessibilidade {
top: 30%;
left: 35%;
transform: translate(-50%, -50%) translateZ(3px) rotate(-5deg) scale(.25);
opacity: .8;
}
.responsivo {
top: 40%;
left: 40%;
transform: translate(-50%, -50%) translateZ(3px) rotate(10deg) scale(.25);
opacity: .8;
}
.otimizacoes {
top: 70%;
left: 65%;
transform: translate(-50%, -50%) translateZ(2px) rotate(-5deg) scale(.25);
opacity: .6;
}
.agilidade {
top: 75%;
left: 35%;
transform: translate(-50%, -50%) translateZ(1px) rotate(5deg) scale(.25);
opacity: .3;
}
.design {
top: 40%;
left: 60%;
transform: translate(-50%, -50%) translateZ(2px) rotate(10deg) scale(.25);
opacity: .5;
}
.blog .inicio-post {
position: absolute;
top: 4em;
height: 8.75em;
left: 30%;
right: 4em;
background-color: #F2FFFC;
color: #000;
padding: 1.5em;
display:none;
}
.blog a:hover + .inicio-post,
.blog a:focus + .inicio-post {
display: block;
}
.botao-index:hover,
.botao-index:focus {
box-shadow: 0 0 1em #FA9;
background-color: #C54974;
color: white;
}
.blog .mais-recente {
background-color: #F2FFFC;
}
.blog .mais-recente a {
color: #F26;
}