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

Problema no alinhamento/posicionamento

Bom dia galera,

Terminei este curso agora, mas no exercício final, não sei por qual motivo não consegui o mesmo resultado, tem um pequeno detalhe de posicionamento/alinhamento na caixa do G1. Inclusive cheguei a copiar a solução proposta no exercício e mesmo assim ficou com essa diferença. Agradeço desde já a ajuda.

Arquivo HTML:

<!DOCTYPE html>
<html>
    <head>
        <title>Portfolio - João da Silva</title>
        <meta charset="utf-8">
        <link rel="icon" href="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="conteudo-principal">
                <p>Veja abaixo a lista dos meus projetos mais relevantes</p>
                <ul class="portfolio">
                    <li>
                        <a href="http://www.bmw.com">
                            <figure>
                                <img src="img/bmw.png" alt="BMW.com">
                                <figcaption>BMW.com: reformulação de design e implementação de HTML, CSS e JavaScript</figcaption>
                            </figure>
                        </a>
                    </li>
                    <li>
                        <a href="http://www.uol.com.br">
                            <figure>
                                <img src="img/uol.png" alt="UOL.com.br">
                                <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="IBM.com.br">
                                <figcaption>IBM.com.br: aplicação de progressive enhancement em conjunto com aplicação back-end</figcaption>
                            </figure>
                        </a>
                    </li>
                    <li>
                        <a href="http://www.g1.globo.com">
                            <figure>
                                <img src="img/g1.png" alt="G1.globo.com">
                                <figcaption>G1.globo.com: reformulação de design e implementação de HTML, CSS e JavaScript</figcaption>
                            </figure>
                        </a>
                    </li>
                </ul>
            </div>
        </main>    
        <img class="minha-foto" src="img/eu.jpg" alt="Foto do João da Silva">
        <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 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">LinkedIn</a></li>
            </ul>
        </aside>
        <footer class="copyright-rodape">
            &copy; João da Silva 2014
        </footer>
    </body>
</html>

Arquivo CSS com estilo geral do site:

body {
    font-family: "Crimson Text", "Times New Roman", serif;
    background-color: #F2FFFC;
    font-size: 120%;
    line-height: 1.5;
}

h1, h2 {
    font-family: "Open Sans Condensed", "Arial", sans-serif;
}

.titulo-principal {
    background-color: #851944;
    text-align: center;
    color: #FFFFFF;
    font-size: 60px;
    padding: 25px;
    margin: 0px;
    border-bottom: 10px solid #000000;
    text-transform: uppercase;
}

main h2 {
    font-size: 30px;
    clear: both;
}

main a {
    color: #851944;
}

main {
    width: 85%;
}

.conteudo-principal {
    width: 65%;
    margin: auto;
    padding: 40px 0;
    padding-bottom: 80px;
}

p {
    text-align: justify;
    margin: 20px 0;
}

.navegacao-site {
    background-color: #3C1D3D;
    color: #F2FFFC;
    padding: 20px;
    text-align: center;
    width: 15%;
    position: absolute;
    top: 310px;
    right: 0;
}

.navegacao-site a {
    color: inherit;
    font-family: "Open Sans Condensed", sans-serif;
}

.navegacao-site h1 {
    font-size: 30px;
    margin-bottom: 25px;
    text-transform: uppercase;
}

.navegacao-site, .minha-foto {
    box-sizing: border-box;
    border-left: 10px solid black;
    border-bottom: 10px solid black;
}

.minha-foto {
    position: absolute;
    top: 0;
    right: 0;
}

nav a {
    color: #F2FFFC;
    text-decoration: none;
    text-transform: lowercase;
}

.navegacao-site, footer {
    padding: 20px;
}

strong {
    font-weight: bold;
}

em {
    font-style: italic;
}

.icones-redes-sociais li {
    display: inline-block;
}

.icones-redes-sociais a {
    width: 40px;
    height: 40px;
    display: inline-block;
    text-indent: -9999px;
}

.github {
    background-image: url(../img/github.png);
}

.twitter {
    background-image: url(../img/twitter.png);
}

.linkedin {
    background-image: url(../img/linkedin.png);
}

.copyright-rodape {
    background-color: #000000;
    color: #F2FFFC;
    clear: both;
    position: fixed;
    bottom: 0;
    width: 100%;
}

Arquivo CSS com estilo da página portfolio:

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

.portfolio img {
    width: 100%;
}
11 respostas

Oi Emerson, tudo bem? compartilha um print pra gente avaliar qual é o problema real do alinhamento?

Boa tarde Wanderson,

Como eu faço para enviar o print aqui pelo fórum?

Upa a imagem nesse site http://imgur.com/upload e compartilha o link.

Opa legal, segue:

http://imgur.com/a/Mjmym

Oi Emerson, me parece um problema de resolução e alguma coisa relacionada ao display inline-block, tenho algumas teorias, mas nada conclusivo. Porém vou deixar a solução aqui.

troca o display inline block por um float left que tudo se resolve. Os marcadores de lista vão reaparecer, então você uma um list style none. Assim:

.portfolio li {
    float: left;
    list-style: none;
}

Bom dia Wanderson,

Com essas propriedades realmente o alinhamento fica certinho, porém gera outra situação:

O conteúdo do final da página começa a ficar cortado pelo rodapé. Veja na imagem abaixo.

http://imgur.com/a/c82Qv

E quando estava com o display inline-block não tinha esse problema de cortar o conteúdo, tem inclusive um padding que é dado no site.css para todas páginas justamente já deixarem aquele espaço que ficava entre o fim do conteúdo e o rodapé, porém alinhando com o float left parece que isso se perde, não entendi o por que.

Entendi, isso por causa que o float sai do fluxo padrão e o elemento ,portifolio não consegue acompanhar o fluxo. Pra soluciona isso a gente pode usar um truque =)

.portfolio::after{
  content: '';
  clear: left;
  display: block;
}

Isso vai forçar o elemento .portifolio a seguir o fluxo do float aplicado nas lis. Testa pra gente?

Opa, esse truque funcionou em relação ao conteúdo não cortar mais, porém com ele, temos uma situação onde o tamanho da caixa do G1 ficou com tamanho diferente das outras.

http://imgur.com/a/IgvI3

Será que esse lance de fazer ele voltar para o fluxo fez alguma propriedade do seletor .portfolio li parar de funcionar? Se bem que se fosse isso as outras caixas poderiam ter mudado de tamanho também, não apenas uma delas.

solução!

O tamanho vai mudar por causa das quebras de linha do Texto Emerson, na verdade não foi a caixa do G1 que ficou diferente, foi a da IBM que ficou maior. O que você pode fazer é definir um tamanho mínimo com o min-height, para garantir que minimamente as caixas tenham um determinando.

Porém não sei se vale a pena continuar lutando com isso. Talvez sim, mas para essas e outras questões eu recomendo você fazer o curso de flexbox depois.

Tranquilo Wanderson, obrigado pela ajuda.

Abraço.

Emerson, lembra de marcar a resposta que resolveu seu problema como solução do tópico, tá bem? assim sabemos que o problema foi resolvido e fica mais fácil outros alunos encontrarem a solução caso passem por problemas parecidos.