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

Forma alternativa de usar o image replacement?

Gostaria de saber se a solução que eu encontrei poderia causar alguns transtorno futuro, pois, para evitar o gasto extra de memoria com o text-indent eu escolhi utilizar o visibility e colocando o nome do link como parágrafo para que seja escondido separadamente da imagem.

HTML

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

CSS

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

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

.github p {
    visibility: hidden;
    margin: -10px;
}

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

.twitter p {
    visibility: hidden;
    margin: -10px;
}


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

.linkedin p {
    visibility: hidden;
    margin: -10px;
}

Gostaria de saber se a utilização desse método poderia é uma boa opção para fazer o image replacement.

Muito obrigado pela ajuda.

2 respostas
solução!

Olá Yan!

Tranquilo?

É uma alternativa válida, poderia usar o opacity: 0 também, há várias maneiras de se esconder um elemento e mostrar apenas o background dele, o que é importante verificar se a solução está sendo renderizada corretamente em todos os navegadores e dispositivos, algumas propriedades do CSS podem não funcionar corretamente em alguns navegadores, mas pelo que lembro, visibility funciona em todos os do mercado.

Abraços!

Oi Yan, tudo bem? Acho essa sua solução uma boa alternativa, eu mesmo já utilizei ela em algum projeto. Eu pesquisei se usar o hidden do visibility trás algum impacto na acessibilidade, mas não encontrei nenhuma referência que comentasse algo a respeito.

Então creio que não tem problema na sua forma não.

Existe ainda uma outra alternativa. Usar o overflow como hidden no link e usar qualquer margem para colocar o texto para fora do link. O resultado prático é o mesmo, mas pode ser mais ou menos acessível.