Jak usunąć domyślny kolor linku znacznika „a” hiperłącza HTML?


235

Domyślny kolor linku to niebieski. Jak usunąć domyślny kolor linku tagu hiperłącza HTML <a>?


Domyślny kolor tekstu <a>to niebieski. Jaki masz teraz problem?
VMAtm

Próbuję uzyskać, jeśli nie nadają żadnego koloru <a>, nie chcę, aby był wyświetlany w kolorze niebieskim. Jest to domyślny kolor tekstu, taki kolor może być czarny lub niebieski ...
Rafiu

3
@Terry_Brown - Uznałem to pytanie za bardzo przydatne, ponieważ chciałem znaleźć odpowiedź „kolor: dziedziczenie” poniżej, która, jak sądzę, dotyczy również tego pytania…
Sk93,

Odpowiedzi:


474

Wartość dziedziczenia :

a { color: inherit; } 

… Sprawi, że element nabierze koloru jego elementu nadrzędnego (myślę, że tego właśnie szukasz).


59

możesz zrobić coś takiego:

a {
    color: #0060B6;
    text-decoration: none;
}

a:hover 
{
     color:#00A0C6; 
     text-decoration:none; 
     cursor:pointer;  
}

jeśli dekorowanie tekstu nie działa, włącz dekorację tekstu: brak! ważne;


ponadto, jeśli chcesz zapobiec zmianie koloru określonego linku po naciśnięciu go, dodaj wewnątrz znacznika: <A STYLE = "text-decoration: none; color = [wybierz swoje ulubione ...]" HREF = " link.html "> link testowy </A>
wiztrail

4
<a style="text-decorations:none; color:inherit;>= wygrana
Dan Bradbury

2
@ DanBradbury usuń „s” z dekoracji tekstowych. <a style="text-decoration:none; color:inherit;>
Mukarram Pasha

18
.cancela,.cancela:link,.cancela:visited,.cancela:hover,.cancela:focus,.cancela:active{
    color: inherit;
    text-decoration: none;
}

Czułem, że konieczne jest opublikowanie powyższej definicji klasy, w wielu odpowiedziach na SO brakuje niektórych stanów


17

Jeśli nie chcesz widzieć podkreślenia i domyślnego koloru zapewnianego przez przeglądarkę, możesz zachować następujący kod w górnej części pliku main.css. Jeśli potrzebujesz innego koloru i stylu dekoracji, możesz łatwo zastąpić ustawienia domyślne za pomocą poniższego fragmentu kodu.

 a, a:hover, a:focus, a:active {
      text-decoration: none;
      color: inherit;
 }

8

Jest to również możliwe:

        a {
            all: unset;
        }

unset: to słowo kluczowe oznacza zmianę wszystkich właściwości mających zastosowanie do elementu lub elementu nadrzędnego elementu na ich wartość nadrzędną, jeśli są dziedziczone, lub na ich wartość początkową, jeśli nie. wartości unicode-bidi i kierunek nie są zmieniane.

Źródło: opis wszystkich Mozilli


Państwo mogli , ale tylko dlatego, że może nie znaczy, że powinniśmy. Powiedziałbym, że biorąc pod uwagę naturę tej reguły, powinieneś naprawdę trochę więcej powiedzieć o tym, co ona faktycznie robi.
Tom

1
Najwyraźniej color: unsetteż działa. Usunąłem kolory szkieletu z elementu, a następnie owinąłem element i ustawiłem własny kolor na tym opakowaniu, aby kolor został odziedziczony.
Traxo

8

Musisz użyć CSS. Oto przykład zmiany domyślnego koloru linku, gdy link po prostu tam siedzi, kiedy jest ukryty i kiedy jest aktywnym linkiem.

a:link {
  color: red;
}

a:hover {
  color: blue;
}

a:active {
  color: green;
}
<a href='http://google.com'>Google</a>


6

Po prostu dodaj to CSS,

a {
    color: inherit;
    text-decoration: none;
}

to już koniec.


1
Nie wiem, na czym polega problem z niższym
głosem

3

Możesz użyć wartości System Color (18.2) , wprowadzonych w CSS 2.0, ale przestarzałych w CSS 3 .

a:link, a:hover, a:active { color: WindowText; }

W ten sposób linki zakotwiczenia będą miały ten sam kolor co zwykły tekst dokumentu w tym systemie.


0
a:link{color:inherit;}

jest to prosta jedna linia, która może zrobić dla ciebie wszystkie rzeczy <3


-2

To zadziała

    a:hover, a:focus, a:active {
        outline: none;
    }

To powoduje usunięcie konturu dla wszystkich trzech pseudoklas.


Podaj nieco więcej wyjaśnienia, dlaczego to działa.
mareoraft

Pytanie nie dotyczy konspektu
Quentin,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.