4
respostas

Aula 9 - Atividade 5 - Por quê os nomes das redes sociais não aparecem?

Bom dia, galera.

Tenho uma dúvida a respeito do funcionamento da combinação pseudoclasse hover / pseudoelemento after / propriedade text-indent.

Anteriormente, com o text-indent: -99999px na classe icones-redes-sociais, o nome das redes sociais ficavam pra fora da tela. Mas quando definimos o text-indent com valor 0 na pseudoclasse hover eu achava que esse novo valor se tornasse vigente para a classe icones-redes-sociais.

Assim, no meu entendimento, os nomes das redes sociais que antes estavam fora da tela, agora apareceriam junto com a legenda do pseudoelemento after.

Por quê isso não acontece?

Já reli a explicação e o código várias vezes pra ver se entendia, mas não rolou. Alguém pode me ajudar com isso?

4 respostas

Fala aí Anderson, tudo bem? Consegue postar os códigos? Ficaria mais fácil para ajudá-lo.

Mas, sua lógica está correta, no hover era para aparecer o texto novamente, por isso, preciso ver o código para um melhor entendimento do que pode ser.

Provavelmente outra regra está fazendo com que ele não apareça.

Fico no aguardo.

html

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>João da Silva - Biografia</title>
    <link rel="icon" href="imagens/favicon.png">
    <link rel="stylesheet" href="css/reset.css">
    <link rel="stylesheet" href="css/site.css">
    <link rel="stylesheet" href="css/bio.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">Sobre mim</h1>
        <div class="container">
            <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 <strong>acessibilidade, responsividade e web semântica</strong>, sem descuidar da qualidade de código.</p>
            <h2 class="subtitulo-texto">Como trabalho</h2>
            <blockquote class="citacao-bio fiat" tabindex="1">
                <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: <strong>qualidade é importante demais para ser sacrificada</strong>.</p>
            <h2 class="subtitulo-texto">Experiência</h2>
            <blockquote class="citacao-bio petrobras" tabindex="1">
                <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://bmw.com">BMW</a>, <a href="http://www.uol.com.br">UOL</a> e <a href="http://www.ibm.com.br">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 class="subtitulo-texto">Comunidade</h2>
            <p>Procuro repassar meu conhecimento para a comunidade. Para isso, já dei <a href="portfolio.html">diversas palestras</a> e mantenho um <a href="blog.html">blog</a>.</p>
        </div>
    </main>
    <img src="imagens/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" data-tooltip="Veja meus projetos opensource">
                    Github
                </a>
            </li>
            <li>
                <a href="https://twitter.com/joaodasilva" class="twitter" data-tooltip="Siga-me no Twitter">
                    Twitter
                </a>
            </li>
            <li>
                <a href="https://br.linkedin.com/pub/joão-da-silva/32/4/508" class="linkedin" data-tooltip="Veja meu currículo">
                    LinkedIn
                </a>
            </li>
        </ul>
    </aside>
    <footer class="rodape-pagina">
        &copy; João da Silva 2014
    </footer>
</body>
</html>

css

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

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

h1 {
    text-transform: uppercase;
    font-size: 3em;
    text-shadow: 2px 2px #000;
}

.titulo-principal {
    text-align: center;
    background-color: #851944;
    color: #FFF;
    padding: 2rem;
    border-bottom: .5rem solid #000;
}

.subtitulo-texto {
    font-size: 1.5em;
    clear: both;
}

main a {
    color: #851944;
}

main p {
    text-align: justify;
    margin: 1em 0;
}

.navegacao-site {
    text-align: center;
    background-color: #3C1D3D;
    color: #F2FFFC;
    padding: 1em;
}

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

.navegacao-site h1 {
    font-size: 1.5em;
    margin-bottom: 1em;
}

nav a:hover, nav a:focus{
    text-shadow: 0 0 5px pink;
}

.rodape-pagina {
    background-image: radial-gradient(ellipse at left bottom,
        rgba(60, 29, 61, 0.8) 65%,
        black 65%,
        black 70%,
        transparent 70%);
    background-size: 25%;
    background-repeat: no-repeat;
    color: #F2FFFC;
    text-shadow: 2px 2px #000;
    padding: 1em;
    clear: both;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    box-sizing: border-box;
}

.container {
    width: 80ch;
    margin-left: auto;
    margin-right: auto;
    padding: 1.3em 0;
}

strong {
    font-weight: bold;
}

em {
    font-style: italic;
}

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

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

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

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

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

main {
    width: 80%;
    float: left;
    padding-bottom: 4em;
}

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

.navegacao-site {
    width: 20%;
    float: right;
    position: relative;
    top: 300px;
}

.minha-foto {
    position: absolute;
    top: 0;
    right: 0;
    height: 300px;
}
main a:hover, main a:focus, footer a:hover, footer a:focus{
    color: red;
}
.icones-redes-sociais a:hover::after,
.icones-redes-sociais a:focus::after{
    content: attr(data-tooltip);
    position: absolute;
    top: 130%;
    right: -20%;
    text-indent: 0;
    width: 300%;
    background: white;
    color: black;
    font-size: .75em;
    border: 3px solid lightgray;
    border-radius: 5px;
    padding: 11%;
    z-index: 5;
}
.icones-redes-sociais a:hover::before,
.icones-redes-sociais a:focus::before{
    content: '';
    position: absolute;
    top: 121%;
    right: 31%;
    text-indent: 0;
    width: 0.8em;
    height: 0.8em;
    background-color: white;
    box-shadow: 3px 3px 0 0 lightgray;
    transform: rotate(-135deg);
    z-index: 10;
}

Estão aí, Matheus.

Desculpe a demora.

Fala aí Anderson, tudo bem? Acho que o problema foi onde você definiu o text-indent, para funcionar, deveria ser assim:

.icones-redes-sociais a:hover {
    text-indent: 0;
}

Espero ter ajudado.