Jak usunąć podkreślenie dla kotwic (linków)?

312

Czy w ogóle istnieje (w CSS) unikanie podkreślenia tekstu i linków wprowadzonych na stronie ..?

Steven
źródło
8
<penantic> Nigdy nie możesz założyć, jak przeglądarka będzie renderować Twój HTML. tag renderuje kotwicę, którą przeglądarka wybiera jako domyślnie podkreśloną. u jest jedynym znacznikiem podkreślenia. poniższe odpowiedzi to odpowiedzi CSS </pendantic>
Dead konto
44
Ironia, że ​​ktoś jest wystarczająco pedantyczny, by wypowiedzieć ten komentarz, ale nie wystarczająco pedantyczny, by poprawnie przeliterować słowo (a nawet konsekwentnie!), Wstrząsa moim umysłem.
Technetium
Oprócz poniższych odpowiedzi a:hovernależy również wziąć pod uwagę obsługę , większość popularnych przeglądarek zwykle pokazuje podkreślenie na kotwicach po najechaniu kursorem.
Fr0zenFyr

Odpowiedzi:

517

Użyj CSS. usuwa to podkreślenia ai uelementy:

a, u {
    text-decoration: none;
}

Czasami musisz zastąpić inne style dla elementów, w takim przypadku możesz użyć !importantmodyfikatora w regule:

a {
    text-decoration: none !important;
}
Emil Vikström
źródło
1
Jeśli color: black !important;zostanie dodany body, czy spowoduje to, że wszystkie elementy, w tym kotwice, odwiedzone kotwice, zawieszone kotwice będą zawsze czarne?
Ωmega
Ωmega Δ, najwyraźniej nie, a dzięki Wam to wskazując znalazłem błąd w ogólnej regule ciała. Zaktualizowałem swoją odpowiedź.
Emil Vikström,
Odkryłem, że jeśli ustawisz styl text-decoration: none !important;dla bodyelementu, to działa on na kotwice tylko wtedy, gdy jawnie ustawisz styl text-decoration: inherit;dla aelementów.
Ωmega
7
Zasadniczo lepiej jest unikać !importantspecyficzności i liczności, aby przesłonić style, w przeciwnym razie możesz uzyskać arkusz stylów pełen !importantbez zrozumienia struktury, która tego wymaga. Jest to IMO o zapachu kodu.
Mike Lyons,
!importantjest jak posiadanie broni nuklearnej. Ale kiedy zaczniesz i zostaniesz uwiedziony, aby użyć !importantinnych elementów, możesz go zdobyć (nuke), a korzyść zniknie na korzyść impasu, który jest świetny dla świata, ponieważ MUD zapewnia pokój, ale w świecie CSS taki pokój oznacza, że ​​nie możesz dać przewagi.
JasonGenX,
27

CSS jest

text-decoration: none;

i

text-decoration: underline;
DanDan
źródło
16

Spowoduje to usunięcie koloru oraz podkreślenia, z którym istnieje tag zakotwiczenia

 a {
     text-decoration: none ;
  }
a:hover
  {
    color:white;
    text-decoration:none;
    cursor:pointer;
   }
Ashwin Shahi
źródło
11

Najprostsza opcja to:

<a style="text-decoration: none">No underline</a>

Oczywiście mieszanie CSS z HTML (tj. Wbudowany CSS) nie jest dobrym pomysłem, szczególnie gdy używasz atagów w dowolnym miejscu.
Dlatego warto zamiast tego dodać to do arkusza stylów:

a {
    text-decoration: none;
}

Lub nawet ten kod w pliku JS:

var els = document.getElementsByTagName('a');

for (var el = 0; el < els.length; el++) {
    els[el].style["text-decoration"] = "none";
}
XLogic
źródło
Iphone / Android nie są dobrymi testami porównawczymi, ponieważ nie reprezentują renderowania wstecznego HTML Gmaila lub Outlooka.
Stuart
@XLogic: Dziękuję bardzo
Monika Patel
6

Użyj CSS, aby usunąć text-decorations.

a {
    text-decoration: none;
}
Alan Haggai Alavi
źródło
6

Najlepsza opcja dla Ciebie, jeśli chcesz tylko usunąć podkreślenie z linku kotwicy-

    #content a{
                text-decoration-line:none;
                }

Spowoduje to usunięcie podkreślenia.

Ponadto możesz użyć podobnej składni do manipulowania innymi stylami również przy użyciu-

                text-decoration: none;
                text-decoration-color: blue;
                text-decoration-skip: spaces;
                text-decoration-style: dotted;

Mam nadzieję że to pomoże!

PS - to moja pierwsza odpowiedź w historii!

praveen kaushik
źródło
4

w moim przypadku istniała reguła dotycząca efektu najechania przez kotwicę, taka jak:

#content a:hover{
border-bottom: 1px solid #333;
}

Oczywiście text-decoration:none;nie mogło pomóc w tej sytuacji. I spędzam dużo czasu, dopóki się nie dowiem.

Tak więc: podkreślenia nie należy mylić z dolną krawędzią.

Aleksandr Chomenko
źródło
4

Czasami zastąpi to niektóre renderowanie CSS interfejsu użytkownika. Lepszy w użyciu:

a.className {
    text-decoration: none !important;
}
Sanjib Karmakar
źródło
1
To okropny pomysł. stackoverflow.com/questions/8360190/…
Benjamin Gruenbaum
2

Aby przedstawić inną perspektywę problemu (jak wynika z tytułu / treści oryginalnego postu):

Jeśli chcesz wyśledzić, co tworzy nieuczciwe podkreślenia w kodzie HTML, użyj narzędzia do debugowania. Istnieje wiele do wyboru:

W przeglądarce Firefox jest FireBug;

W przypadku Opery istnieje Dragonfly (zwany „Narzędziami programisty” w menu Narzędzia-> Zaawansowane; domyślnie jest dostarczany z Operą);

W przypadku przeglądarki IE istnieje „pasek narzędzi programistycznych programu Internet Explorer”, który jest osobnym plikiem do pobrania dla IE7 i niższych wersji i jest zintegrowany z IE8 (hit F12).

Nie mam pojęcia o Safari, Chrome i innych przeglądarkach mniejszościowych, ale prawdopodobnie powinieneś mieć przynajmniej jedną z trzech powyższych na swoim komputerze.

Vilx-
źródło
1

Jeśli chcesz użyć tagu zakotwiczenia po prostu jako łącza bez dodanego stylu (takiego jak podkreślenie po najechaniu myszą lub kolor niebieski), dodaj class="no-style"do tagu zakotwiczenia. Następnie w globalnym arkuszu stylów utwórz klasę „bez stylu”.

.no-style { text-decoration: none !important; }

Ma to dwie zalety.

  1. Nie wpłynie to na wszystkie tagi zakotwiczenia, tylko te z dodaną klasą „bez stylu”.
  2. Zastąpi wszelkie inne style, które w innym przypadku mogą uniemożliwić ustawienie dekoracji tekstu na brak.
Frederick John
źródło
0

Nie zapomnij dołączyć arkuszy stylów za pomocą tagu link

http://www.w3schools.com/TAGS/tag_link.asp

Lub umieść CSS w tagu stylu na swojej stronie.

<style>
  a { text-decoration:none; }
  p { text-decoration:underline; }
</style>

Nie polecam używania podkreślenia do niczego poza linkami, podkreślenie jest ogólnie akceptowane jako coś, co można kliknąć. Jeśli nie można go kliknąć, nie podkreślaj tego.

Podstawy CSS można znaleźć w w3schools

JasonS
źródło
0
<u>

to przestarzały tag.

Posługiwać się...

<span class="underline">My text</span>

z plikiem CSS zawierającym ...

span.underline
{
    text-decoration: underline;
}  

Lub tylko...

<span style="text-decoration:underline">My Text</span>
Oundless
źródło
0

Użyj właściwości css,

text-decoration:none;

Aby usunąć podkreślenie z łącza.

Smita Kagwade
źródło
0

Podkreślenie można usunąć za pomocą właściwości CSS zwanej dekoracją tekstu.

<style>
a{
text-decoration:none;
}
</style>

Jeśli chcesz usunąć podkreślenie tekstu obecnego w elementach innych niż a , należy użyć następującej składni.

<style>
element-name{
text-decoration:none;
}
</style>

Istnieje wiele innych wartości dekoracyjnych tekstu, które mogą pomóc w projektowaniu łączy.

Sheraz
źródło
-1

Mam problem z drukowaniem stron internetowych i rozwiązany. Zweryfikowany wynik.

a {
    text-decoration: none !important;
}

To działa!.

Incheol
źródło