Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Paralaxe - Perspective

Ao declarar perspective: 6px no body as palavras espalharam pelo header e ficaram enormes e fora, daí eu fui aumentando o px do perspective e reparei que ele ia diminuindo, até que cheguei no perspective: 100px que ficou show o site. Queria entender por que aconteceu isso kk PS: Meu código pode ter "coisas diferentes" do exercício, por questão de gosto, eu gosto de alterar algumas propriedades. Segue abaixo o HTML + CSS(comentarios) HTML:

<!DOCTYPE html>
<html lang="pt">
<head>
    <meta charset="UTF-8">
    <title>João da Silva - Desenvolvedor Web</title>
    <link rel="shortcut icon" href="img/favicon.png">
    <link rel="stylesheet" href="css/reset.css">
    <link rel="stylesheet" href="css/site.css">
    <link rel="stylesheet" href="css/index.css">
    <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Crimson+Text:400,400italic,600">
    <link href="http://fonts.googleapis.com/css?family=Open+Sans+Condensed:700" rel="stylesheet">
    <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Shadows+Into+Light">
</head>
<body>
    <header class="titulo-principal">
        <img class="foto-home" src="img/eu.jpg" alt="Foto de João da Silva">
        <h1>João da Silva</h1>
        <p class="subtitulo-principal">Desenvolvedor web</p>
        <ul class="palavras-home">
            <li class="palavra-home eficiencia">Eficiência</li>
            <li class="palavra-home boas-praticas">Boas práticas</li>
            <li class="palavra-home codigo-limpo">Código limpo</li>
            <li class="palavra-home css3">CSS3</li>
            <li class="palavra-home html5">HTML5</li>
            <li class="palavra-home javascript">JavaScript</li>
            <li class="palavra-home acessibilidade">Acessibilidade</li>
            <li class="palavra-home responsivo">Responsivo</li>
            <li class="palavra-home otimizacoes">Otimizações</li>
            <li class="palavra-home agilidade">Agilidade</li>
            <li class="palavra-home design">Design</li>
        </ul>
        <a class="link-twitter" href="http://twitter.com/joaodasilva">Siga-me no Twitter</a>
    </header>
    <main>
        <section class="secao-inicio saudacao">
            <p class="saudacao"><span class="saudacao-inicio">Olá,</span> meu nome é <strong>João da Silva</strong> <span class="saudacao-ultima-linha">e eu construo <em>sites maravilhosos</em></span></p>
            <a class="botao-index" href="bio.html">Conheça mais um pouco sobre mim</a>
        </section>
        <section class="secao-inicio trabalhos">
            <h2>Trabalhos</h2>
            <ul>
                <li><img src="img/bmw.png" alt="Site da BMW"></li>
                <li><img src="img/ibm.png" alt="Site da IBM"></li>
                <li><img src="img/uol.png" alt="Site da UOL"></li>
            </ul>
            <a class="botao-index" href="portfolio.html">Veja mais</a>
        </section>
        <section class="secao-inicio blog">
            <h2>Blog</h2>
            <small>Últimos posts</small>
            <ol>
                <li class="mais-recente">
                    <a href="blog.html">O essencial de design responsivo</a>
                    <p class="inicio-post">Design responsivo tem ganho cada vez mais atenção como técnica de desenvolvimento de páginas web para dispositivos móveis. Mas como começar?
                    </p>
                </li>
                <li>
                    <a href="blog.html">Por que fazer páginas acessíveis?</a>
                </li>
                <li>
                    <a href="blog.html">JavaScript não obstrusivo</a>
                </li>
            </ol>
            <a class="botao-index" href="blog.html">Veja mais</a>
        </section>
    </main>
    <footer>
        <h2>Vamos conversar?</h2>
        <p>Você pode entrar em contato comigo <a href="contato.html">por e-mail</a> ou pelo telefone <a href="tel:+551234567890">(12) 3456-7890</a></p>
    </footer>
</body>
</html>

Vou por o CSS no comentario por que não está cabendo...

2 respostas

Eu reduzi ele, para não ficar muito grande CSS:

html, body {
    height: 100%;
    overflow-x: hidden;
}

body {
    perspective: 100px;
    perspective-origin: 50% 160px;
}

.palavras-home, .titulo-principal {
    transform-style: preserve-3d;
}

header {
    position: relative;
}
.subtitulo-principal {
    font-family: "Opens Sans", "Arial", sans-serif;
    text-align: center;
    font-size: .35em;
    text-transform: none;
    margin: -.25em auto;
}

main {
    width: 100%;
    padding-bottom: 0;
    float: none;
}

.link-twitter {
    width: 14em;
    line-height: 1;
    padding: 1rem 0;
    box-sizing: border-box;

    text-align: center;
    text-decoration: none;
    text-transform: none;
    background-color: #3C1D3D;
    color: #F2FFFC;
    border: .25rem solid #000;

    font-size: 1.2rem;
    font-family: "Opens Sans Condensed", sans-serif;

    position: absolute;
    right: 0;
    top: 0;
    transform-origin: 0 0;
    transform: translate(7.5rem, -2.5rem) rotate(45deg);
}

.palavras-home {
    perspective: 6px;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.palavra-home {
    position: absolute;
    font-size: 1rem;
    font-family: 'Shadows Into Light', cursive;
    font-weight: bold;
    color: #D5447E;
}

.palavra-home li {
    font-size: 400%;
}

.eficiencia {
    top: 50%;
    left: 60%;
    transform: translate(-50%, -50%) rotate(-5deg) translateZ(4px)  ;
}

.boas-praticas {
    top: 65%;
    left: 25%;
    transform: translate(-50%, -50%) rotate(15deg) translateZ(2px);
}

.codigo-limpo {
    top: 45%;
    left: 20%;
    transform: translate(-50%, -50%) rotate(-15deg) translateZ(1px);
}

.css3 {
    top: 55%;
    left: 32%;
    transform: translate(-50%, -50%) rotate(5deg) translateZ(1px);
}

.html5 {
    top: 30%;
    left: 65%;
    transform: translate(-50%, -50%) rotate(5deg) translateZ(2px);
}

.javascript {
    top: 15%;
    left: 60%;
    transform: translate(-50%, -50%) rotate(-10deg) translateZ(1px);
}

.acessibilidade {
    top: 30%;
    left: 35%;
    transform: translate(-50%, -50%) rotate(-5deg) translateZ(3px);
}

.responsivo {
    top: 42%;
    left: 40%;
    transform: translate(-50%, -50%) rotate(15deg) translateZ(3px);
}

.otimizacoes {
    top: 70%;
    left: 65%;
    transform: translate(-50%, -50%) rotate(-5deg) translateZ(2px);
}

.agilidade {
    top: 75%;
    left: 35%;
    transform: translate(-50%, -50%) rotate(5deg) translateZ(1px);
}

.design {
    top: 40%;
    left: 60%;
    transform: translate(-50%, -50%) rotate(10deg) translateZ(2px);
}
solução!

Oi Gabriel, tudo bem?

Pelo pouco que entendo de perspective, conforme voce vai mudando o valor é como se voce estivesse mexendo com uma camera em um software 3D.

Com valores muito baixos ali, é como se as palavras estivessem atrás da câmera.

Se quiser saber mais sobre o perspective recomendo a leitura do post de um dos moderadores da Alura nesse tópico aqui:

https://cursos.alura.com.br/forum/topico-perspective-27184

Espero ter ajudado e bons estudos,

Abcs!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software