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

Posicionamento diferente das caixas com imagens

Olá pessoal! Gostaria de saber se a forma como posicionei as minhas caixas também vale e estão corretas.

OBS.: Alterei o "Top" da classe ".navegacao-site" pois por algum motivo a barra de navegação não estava na mesma localização que a página "Bio".

HTML

<!DOCTYPE html>

<html>
    <head>
        <meta charset="utf-8"/>
        <title>Portfolio</title>
        <link rel="stylesheet" href="css/reset.css"/>
        <link rel="stylesheet" href="css/padrao.css"/>
        <link rel="stylesheet" href="css/portfolio.css"/>
        <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Crimson+Text:400,400italic,600">
        <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Open+Sans+Condensed:700">
    </head>

    <body>
        <h1 class="titulo-site">Portfolio</h1>
        <main>   
            <div class="corpo-texto">
            <p>Veja abaixo a lista dos meus projetos mais relevantes</p>
            <ul>
                <li>
                    <a href="http://www.bmw.com.br/pt/index.html">
                        <figure class="imagem-portfolio bmw">
                        <img src="img/bmw.png" alt="Site da BMW">
                        <figcaption>BMW.com: reformulação de design e implementação de HTML, CSS e JavaScript</figcaption>
                        </figure>
                    </a>
                </li>
                <li>
                    <a href="https://www.uol.com.br/">
                        <figure class="imagem-portfolio uol" >
                        <img src="img/uol.png" alt="Site da UOL">
                        <figcaption> href="https://www.uol.com.br/">UOL.com.br: reformulação de design e implementação de HTML, CSS e JavaScript</figcaption>
                        </figure>
                    </a>
                </li>
                <li>
                    <a href="https://www.ibm.com/br-pt/">
                        <figure  class="imagem-portfolio ibm"> 
                        <img src="img/ibm.png" alt="Site da IBM">
                        <figcaption>IBM.com: aplicação de progressive enchancement em conjunto com aplicação back-end</figcaption>
                        </figure>
                    </a>
                </li>
                <li>
                    <a href="http://g1.globo.com/">
                        <figure class="imagem-portfolio g1" > 
                        <img src="img/g1.png" alt="Site do portal G1">
                        <figcaption>G1.com.br: reformulação de design e implementação de HTML, CSS e JavaScript</figcaption>
                        </figure>
                    </a>
                </li>
                </ul>
            </div>
        </main>

        <img class="foto-joao" src="img/eu.jpg" alt="Foto de João da Silva">
        <aside class="navegacao-site">
            <div>
            <h1>João da Silva</h1>
            <nav>
                <ul class="icones-menu">
                    <li><a href="index.html">Home</a></li>
                    <li><a href="portolio.html">Portfolio</a></li>
                    <li><a href="bio.html">Sobre mim</a></li>
                    <li><a href="blog.html">Blog</a></li>
                    <li><a href="contato.html">Contato</a></li>
                </ul>    
            </nav>
            </div>

            <ul class="icones-sociais">
                <li><a class="github" href="https://github.com/joaodasilva">Github</a></li>
                <li><a class="twitter" href="https://twitter.com/joaodasilva">Twitter</a></li>
                <li><a class="linkedin" href="https://br.linkedin.com/pub/joão-da-silva/32/4/508">LindekIn</a></li>
            </ul>
        </aside>

        <article>
            <footer class="rodape-blog">&copy; João da Silva 2014</footer>

        </article>
    </body>



</html>

CSS

.navegacao-site{
    top:148px;
}

.imagem-portfolio{
    border: 8px solid black;
    padding: 16px;  
    margin: 50px 100px;
    width: 380px;
    box-sizing: border-box;
    display: block;
    height: 280px;
    background-color: #FAFFFC;
}

.imagem-portfolio img{
    width: 90%;
}

.bmw{
    position: absolute;
    top: 260px;
    left: 80px;
    box-sizing: border-box;
}

.uol{
    position: absolute;
    top: 260px;
    left: 480px;
}

.ibm{
    position: absolute;
    top: 550px;
    left: 80px;
}

.g1{
    position: absolute;
    top: 550px;
    left: 480px;
}
2 respostas

Boa tarde, Gustavo! Tudo bem, cara? =)

Eu testei seu código aqui e, para mim, pelo menos, ficou um pouco estranho.

O HTML final ficou pouco diferente do seu:

<!DOCTYPE html>
<html>
    <head>
        <title>Portfolio - João da Silva</title>
        <meta charset="utf-8">
        <link rel="icon" href="img/favicon.png">
        <link rel="stylesheet" href="css/reset.css">
        <link rel="stylesheet" href="css/site.css">
        <link rel="stylesheet" href="css/portfolio.css">
        <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Crimson+Text:400,400italic,600">
        <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Open+Sans+Condensed:700">
    </head>
    <body>
        <main>
            <h1 class="titulo-principal">Portfolio</h1>
            <div class="container">
                <p>Veja abaixo a lista dos meus projetos mais relevantes</p>
                <ul class="portfolio">
                    <li>
                        <a href="http://bmw.com">
                            <figure>
                                <img src="img/bmw.png" alt="Site da BMW">
                                <figcaption>BMW.com: reformulação de design e implementação de HTML, CSS e JavaScript</figcaption>
                            </figure>
                        </a>
                    </li>
                    <li>
                        <a href="http://uol.com.br">
                            <figure>
                                <img src="img/uol.png" alt="Front-page da UOL">
                                <figcaption>UOL.com.br: reformulação de design e implementação de HTML, CSS e JavaScript</figcaption>
                            </figure>
                        </a>
                    </li>
                    <li>
                        <a href="http://www.ibm.com.br">
                            <figure>
                                <img src="img/ibm.png" alt="Site da IBM">
                                <figcaption>IBM.com: aplicação de progressive enhancement em conjunto com aplicação back-end</figcaption>
                            </figure>
                        </a>
                    </li>
                    <li>
                        <a href="http://g1.com.br">
                            <figure>
                                <img src="img/g1.png" alt="Front-page do portal G1">
                                <figcaption>G1.com.br: reformulação de design e implementação de HTML, CSS e JavaScript</figcaption>
                            </figure>
                        </a>
                    </li>
                </ul>
            </div>
        </main>
        <img src="img/eu.jpg" alt="Minha foto" class="minha-foto">
        <aside class="navegacao-site">
            <h1>João da Silva</h1>
            <nav>
                <ul>
                    <li><a href="index.html">Home</a></li>
                    <li><a href="portfolio.html">Portfolio</a></li>
                    <li><a href="bio.html">Sobre mim</a></li>
                    <li><a href="blog.html">Blog</a></li>
                    <li><a href="contato.html">Contato</a></li>
                </ul>
            </nav>
            <ul class="icones-redes-sociais">
                <li>
                    <a href="https://github.com/joaodasilva" class="github">
                        Github
                    </a>
                </li>
                <li>
                    <a href="https://twitter.com/joaodasilva" class="twitter">
                        Twitter
                    </a>
                </li>
                <li>
                    <a href="https://br.linkedin.com/pub/joão-da-silva/32/4/508" class="linkedin">
                        LinkedIn
                    </a>
                </li>
            </ul>
        </aside>
        <footer class="rodape-pagina">
            &copy; João da Silva 2014
        </footer>
    </body>
</html>

E o CSS:

.portfolio li {
    display: inline-block;
    border: 8px solid black;
    background-color: #FAFFFC;
    width: 45%;
    box-sizing: border-box;
    padding: 16px;
    margin-right: 16px;
    margin-bottom: 16px;
}

.portfolio img {
    width: 100%;
}

Faz um teste com esses dois arquivos e verifica o resultado. =)

Espero ter ajudado, mas qualquer dúvida não deixe de postar por aqui!

Abraço e bons estudos,

Fábio

solução!

Oi Gustavo,

Errado não está. Mas queria que você refletisse sobre a qualidade do código.

Ao posicionar coisas absolutamente com coordenadas como voce fez, seu codigo fica bem menos flexivel. Mudou um tamanho de icone, acrescentou algum elemento novo e, pimba, quebra tudo. Sem falar ainda que é mais dificil lidar com telas de tamanhos diferentes, ja que a posicao fica absoluta em pixels com um numero X.

A boa pratica é evitar ao maximo esse tipo de cenario que deixa seu codigo menos flexivel. Usar outros metodos de posicionamento mais flexiveis (como inline-block, float, flexbox) faz com que a pagina se adapte melhor quando houver mudancas futuras.