Remova TODOS os estilos / formatações dos hiperlinks

157

Estou criando um menu de navegação com palavras com cores diferentes ( hreflinks). Eu gostaria que a cor NÃO mudasse em nenhum estado (passe o mouse, visitei etc.).

Eu sei como definir as cores para os diferentes estados, mas gostaria de saber o código para deixar a cor do texto (e qualquer outro estilo / formatação) como está.

Alguma sugestão?

SiteHopper
fonte

Respostas:

248

Você pode simplesmente definir um estilo para os links, que substituiriam a:hover, a:visitedetc .:

a {
  color: blue;
  text-decoration: none; /* no underline */
}

Você também pode usar o inheritvalor se desejar usar atributos de estilos pai:

body {
  color: blue;
}
a {
  color: inherit; /* blue colors for links too */
  text-decoration: inherit; /* no underline */
}
Frxstrem
fonte
4
A parte importante é a inheritpalavra - chave. Infelizmente, não possui 100% de suporte.
david
2
initialtambém é útil quando você deseja redefinir o CSS para o estilo padrão. Isso está bem explicado aqui link
SiteHopper 29/08
Muito obrigado por inherit!
parsecer 16/10
@ David, Ainda está de pé? Não inheritfunciona apenas em navegadores antigos e no Internet Explorer ou também há dificuldades em navegadores populares (Chrome, Firefox)?
parsecer 16/10
1
Confira desmarcado também. >> A palavra-chave CSS não configurada redefine uma propriedade para seu valor herdado, se herdar do pai, e para o valor inicial, se não. Em outras palavras, ele se comporta como a palavra-chave herdada no primeiro caso e como a palavra-chave inicial no segundo caso.
21719 JackMorrissey
4

Como Chris disse antes de mim, apenas um adeve substituir. Por exemplo:

a { color:red; }
a:hover { color:blue; }
.nav a { color:green; }

Nesse caso .nav a, SEMPRE seria verde, o: hover não se aplicaria a ele.

Se houver alguma outra regra afetando, você PODE usar !important, mas não deve. É um mau hábito cair.

.nav a { color:green !important; } /*I'm a bad person and shouldn't use !important */

Então sempre será verde, irrelevante para qualquer outra regra.

SpoonNZ
fonte
Não foi isso que ele perguntou. Releia a pergunta. Ele já sabe disso.
david
@ David Eu reli, tenho certeza que foi o que ele pediu. Este código permitirá que ele defina um estilo para o aqual evitará alterações :hover(ou :visitedetc). Que tal, em vez de ser um idiota e esfregar todas as três respostas, você sugere uma solução real?
SpoonNZ 19/01/12
Obrigado pela ajuda. Mas e se o link for assim. 2 palavras em 2 cores, mas é apenas um link: vendas exclusivas (em rosa) (em preto) E elas devem permanecer nessa cor em qualquer estado. Eu o codifiquei em linha desta maneira ... <a href="#" style="text-decoration: none" target="_blank"> <span style = "font-family: Arial; size-font: 13px; color: # e91974; font-weight: isqueiro; "> único </span> <span style =" font-family: Arial; tamanho da fonte: 13px; color: # 020202; font-weight: isqueiro; "> sales </ span > </a> Mas deve haver um limpador. (há muitos links como este no código) Alguma sugestão?
21812 SiteHopper
1

Você pode apenas usar um aseletor na sua folha de estilo para definir todos os estados de uma âncora / hiperlink. Por exemplo:

a {
    color: blue;
}

Substituiria todos os estilos de link e tornaria todos os estados com a cor azul.

Chris
fonte
Não foi isso que ele perguntou. Releia a pergunta. Ele já sabe disso.
david
-1

se você declarar a.redLink{color:red;}, mantenha-o em foco e adicione-o a.redLink:hover{color:red;} Isso garantirá que nenhum outro estado de foco mude a cor dos seus links

Danferth
fonte