2012-01-19 10 views
77

Tworzę menu nawigacyjne ze słowami o różnych kolorach (linki href). Chciałbym, aby kolor NIE zmieniał się w żadnym stanie (najeżdżanie, odwiedzane itp.).Usuń WSZYSTKIE stylizacje/formatowanie z hiperłączy

Wiem, jak ustawić kolory dla różnych stanów, ale chciałbym znać kod, aby po prostu pozostawić kolor tekstu (i wszelkie inne stylizacje/formatowanie) w obecnej postaci.

Wszelkie sugestie?

Odpowiedz

132

można po prostu zdefiniować styl dla połączeń, które mogłyby zastąpić a:hover, a:visited itp .:

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

Można również użyć wartości inherit jeśli chcesz korzystać z atrybutów stylów dominujących Zamiast:

body { 
    color: blue; 
} 
a { 
    color: inherit; /* blue colors for links too */ 
    text-decoration: inherit; /* no underline */ 
} 
+3

Ważną częścią jest słowo kluczowe "dziedziczenie". Niestety nie ma 100% wsparcia. – david

+2

'initial' jest również pomocne, gdy chcesz przywrócić css do domyślnego stylu. Zostało to wyjaśnione tutaj [link] (http://stackoverflow.com/questions/8228980/reset-css-display-property-to-default-value) – SiteHopper

+0

Dziękuję bardzo za "dziedziczenie"! – parsecer

-1

jeśli stwierdzić a.redLink{color:red;} następnie utrzymać to przy aktywowaniu i taki dodatek a.redLink:hover{color:red;} Pozwoli to upewnić się, że żadne inne stany hover p zmieni kolor linków

1

można po prostu użyć selektora a w arkuszu stylów do definiowania wszystkich stany kotwicy/hiperłącza. Na przykład:

a { 
    color: blue; 
} 

Przesłoni wszystkie style linków i sprawi, że wszystkie stany będą miały kolor niebieski.

+0

Nie o to prosił. Ponownie przeczytaj pytanie. On już to wie. – david

2

Zgodnie z tym, co powiedział Chris przede mną, wystarczy przesłonić a. Na przykład:

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

w tym przypadku .nav a zawsze będzie zielono,: hover nie odnoszą się do niego.

Jeśli istnieje jakaś inna reguła wpływająca na to, MOŻESZ użyć !important, ale nie powinieneś. To zły nawyk wpadać.

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

To zawsze będzie zielone, bez znaczenia dla jakiejkolwiek innej reguły.

+0

To nie jest to, o co prosił. Ponownie przeczytaj pytanie. On już to wie. – david

+0

@david Przeczytałem ponownie, jestem pewien, że o to prosił. Ten kod pozwoli mu ustawić styl dla 'a', który uniemożliwi jakiekolwiek zmiany w': hover' (lub ': visited' itd.). Co powiesz na to, że zamiast być kutasem i wyłuszczasz wszystkie trzy odpowiedzi, sugerujesz rzeczywiste rozwiązanie? – SpoonNZ

+0

Dzięki za pomoc. Ale co, jeśli link jest taki. 2 słowa w 2 kolorach, ale to tylko 1 link: unikalna (w kolorze różowym) wyprzedaże (w kolorze czarnym) I powinny pozostać w tym kolorze w dowolnym stanie. Zakodowałem to w ten sposób w ten sposób ... uniquesales Ale musi być środek czyszczący. (tam, gdzie wiele linków jak to w kodzie) Jakieś sugestie? – SiteHopper