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

Problema com icones das redes sociais

Alguém pode me ajudar e dizer o que há de errado com meu código? os icones das redes sociais não ficam alinhados e eu não consigo encontrar o erro

HTML

<!DOCTYPE html><!-- dizer para o navegador (ou qualquer programa que queira ler nosso arquivo) qual tipo de documento ele está lendo.-->
<html> <!-- indica para o navegador que estamos usando HTML-->
    <head>
        <title> Biografia  - João da Silva</title> <!-- titulo da aba do site, no topo-->
        <meta charset="utf-8"> <!-- indicando que nossa página usa a codificação de caracteres UTF-8. -->
        <link rel="icon" href="favicon.png" <!-- Pega a foto .png que está na pasta e poe na aba-->
        <link rel="stylesheet" href="reset.css">
        <link rel="stylesheet" href="bio.css">
        <!-- as Linhas abaixo carregam a vonte que eu quero direto do google-->
        <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">Sobre mim</h1>


            <div>

                <p>Moro em São Paulo mas atendo clientes do mundo todo. Sou conhecido por fazer produtos de <em>qualidade</em>, <em>durabilidade</em> e que <em>agregam valor</em> para meus clientes.</p>


                <p>Trabalho usando a web como plataforma, ou seja, respiro HTML5, CSS3 e JavaScript (ou melhor: ECMASCript). Crio sites para todos, seguindo as principais diretivas de acessibilidade, responsividade e web semântica, sem descuidar da qualidade de código.</p>

                <h2>Como trabalho</h2>

                <blockquote class="citacoes">

                     <p> João é o melhor desenvolvedor front-end com quem já trabalhei. Muito eficiente e muito capaz. Recomendo sem dúvidas!</p>

                        <cite>-- José Souza, Fiat</cite>

                </blockquote>

                <p>Satisfazer meus clientes é prioridade. Para isso, garanto um processo de desenvolvimento altamente interativo, baseado em feedback contínuo. <strong>Não trabalho com escopo fechado</strong>: o cliente é que decide quando o produto está pronto.</p>

                <p>Também não trabalho com prazos fechados: qualidade é importante demais para ser sacrificada.</p>

                <h2>Experiência</h2>

                <blockquote class="citacoes">

                        <p>João domina as tecnologias como ninguém. Eu apresentava um problema, ele tinha na ponta da língua a solução mais adequada com as tecnologias mais recentes.</p>

                        <cite>-- Manoel Santos, Petrobrás</cite>

                </blockquote>

                <p>Já desenvolvi projetos para grandes empresas como <a href="http://www.bmw.com">BMW</a>, <a href="http://www.uol.com.br">UOL</a> e <a href="http://www.ibm.com">IBM</a>. Neles, o foco principal era entregar uma experiência imersiva e impactante para o usuário final sem descuidar do desempenho e da acessibilidade da página.</p>

                <p>Também já fui contratado para transformar grandes portais, como Terra e G1, em páginas responsivas. 
                Fui responsável por renovar o layout, reorganizar o conteúdo e re-escrever o código de forma mais reaproveitável.</p>

                <h2>Comunidade</h2>

                <p>Procuro repassar meu conhecimento para a comunidade. Para isso, já dei diversas palestras e mantenho um <a href="blog.html">blog.</a></p>

            </div>

        </main>

        <img src="eu.jpg" alt="foto de João da Silva">
        <aside class="navegacao-site">         
        <h1>João da Silva</h1>
            <nav>
                <ul>
                    <li><a href="home.html">Home</a></li>
                    <li><a href="portifolio.html">Portifólio</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="icone-rede-social">
                    <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/50">LinkedIn</a></li>
                </ul>
        </aside>
        <footer class="rodape">
            &copy;João da Silva 2016
        </footer>
</body>
</html>

CSS:

body {

    background-color: #F2FFFC; /* muda a cor de fundo do site*/
    font-family: "Crimson Text", "Time New Roman", serif; /* fonte do texto*/
    font-size: 120%; /* tamanho ta fonte*/
    line-height: 1.5; /*espaçamento entre as linhas*/

}
h1,h2{

    font-family: "Open Sans Condensed", "Arial", serif; /*fonte utilizada nos titulos (h1) e subtitulos h2*/
}
h2{
    font-size: 30px; /*Tamanho da fonte do subtitulo*/
}
.titulo{ /* Aparencia do h1*/
    font-size: 60px;
    text-align: center;
    background-color: #851944;
    color: #FFF; /*Cor da letra*/
    padding: 25px; /*Cria um espaço entre os quatro lados do box de conteúdo*/
    border-bottom: 10px solid black; /*Criando uma borda em baixo do titulo (bottom) com tamanho 10(px), na cor preta*/
    text-transform: uppercase; /* para deixar o texto maiusculo */
}
p {

    text-align: justify; /*Deixar o texto justificado (igual no word*/)
    margin: 20px 0;
}
.citacoes {

    background-color: #D9E5E3;
    border: 10px solid #C2CCCA; /*Informo que quero uma borda de 10px*/
    width: 250px; /* que a borta tem 250px de largura*/
    box-sizing: border-box; /*comando que vai ajustar a borda para que fique centralizada de acordo com as espeficicações acima*/
    margin: 20px 40px; /*Margens que quero na borda*/
}
.rodape { /*Rodapé do site*/
    background-color: #000000;
    color: #F2FFFC;
}
.rodape-artigo { /*Rodapé dos artigos no Blog*/



}
nav a{ 
    color: #F2FFFC;
}
main a{
    color: #851944;
}
aside a{
    color: inherit;
    font-family: "open Sans Condensed", sans-serif;
}
blockquote, aside, footer{
    padding: 20px;
}
main div {
    width: 720px;
    margin: auto;
    padding: 30px; 0;
}
aside h1{
    font-size: 30px;
    margin-bottom: 25px;
}
strong{
    font-weight: bold;
}
em{
    font-style: italic;
}
article {
    padding-bottom: : 30px;
    border-bottom: 1px solid #ccc;
    margin-bottom: 20px;
}
.navegacao-site{
    background-color: #3C1D3D;
    color: #F2FFFC;
    text-align: center;
    padding: 20px;
}
.leia-mais {
text-align: center;
display: block;
background-color: #E6E7E8;
}
.icone-rede-social a {
    width: 40px;
    height: 40px;
    text-indent: -99999px;
    display: inline-block;
}

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

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

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

Agradeço desde já.

7 respostas

Não ficam alinhados como? Aparentemente parece estar de acordo com os vídeos

Ficam um embaixo do outro, isso porque eu usei o text-align: center; e o display: inline-block

se eu coloco só inline, as letras sobrepõe mesmo com o text-indent

se eu coloco só o block os icones vão pro lado direito da tela.

Eu tive o mesmo problema, a questão é que você deve ter substituído a classe .icone-rede-social li pela classe .icone-rede-social a. Você precisa recriar a classe .icone-rede-social li com a propriedade display:inline-block que vai resolver o seu problema. Bons estudos!

Fabrício, fiz como você falou e ai os links sumiram, fui no meu HTML e mudei a class dos links pra dentro de li, elas apareceram, porém no canto da tela e em linhas separadas.

Vou baixar o arquivo do site aqui do alura e ir comparando linha por linha pra ver se fiz algo errado.

obrigado.

solução!

Cesar, vou colocar a estrutura do meu código. Nesse modelo o meu código funcionou normalmente. Tente a partir disso!

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

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

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

Fabricio, o problema era este mesmo. eu estava colocando tudo junto agora ficou igual ao seu e funcionou, porém não entendi o porque de ter um .icones-sociais li{ ...} e outro .icones-sociais a { ...} ambos não tratam dos links para internet?

De qualquer forma obrigado!!

Boa noite colegas.

Cesar, o código:

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

Trata a aparência/estilo dos items de lista.

Para que entenda melhor, você deve compreender o significado semântico de ul e li do HTML.

ul significa "unordered list", ou seja, lista desordenada (sem ordem alguma).

li significa "list item", ou seja, item da lista.

Logo, no CSS eu digo que quero que os itens da lista estejam dispostos lado a lado.

E o que temos dentro de li?

<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">Linkedin</a></li>
</ul>

Os nossos links!

E para tratarmos da aparência/estilo dos links, inserimos o código CSS:

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

Ou seja, dizemos ao navegador que queremos a largura e a altura dos links com 40px (a mesma largura e altura das imagens referenciadas pelo class) e o texto seja identado em -99999px (o que faz com que eles desapareçam da tela).

Só que para o navegador interpretar corretamente esse estilo direcionado aos links, o display precisa estar block ou inline-block (lembrando que links são inline por default).

Se você pedir para o navegador inspecionar o elemento a, verás que ele não herda o display especificado em li, cabendo a você definí-lo de forma pessoal para o elemento a.

Espero ter esclarecido suas dúvidas.

Qualquer inconsistência apresentada nesse post retifique. É válido lembrarmos que estamos aprendendo juntos.

Um abraço. :^)