Entfernen Sie hartnäckige Unterstreichungen vom Link

542

Ich versuche, einen Link in Weiß ohne Unterstreichung anzuzeigen. Die Textfarbe wird korrekt als Weiß angezeigt, aber die blaue Unterstreichung bleibt hartnäckig bestehen. Ich habe versucht text-decoration: none;und text-decoration: none !important;im CSS den Link unterstrichen zu entfernen. Beides hat nicht funktioniert.

.boxhead .otherPage {
  color: #FFFFFF;
  text-decoration: none;
}
<div class="boxhead">
  <h2>
    <span class="thisPage">Current Page</span>
    <a href="myLink"><span class="otherPage">Different Page</span></a>
  </h2>
</div>

Wie kann ich die blaue Unterstreichung aus dem Link entfernen?

dmr
quelle
1
Nun, es sollte verschwinden, wenn Sie Textdekoration machen: keine. Sind Sie sicher, dass Sie dies auf das richtige Element anwenden? Können Sie Beispielcode bereitstellen?
Davor Lucic
Wo ist Textdekoration: keine wird verwendet?
Shuttle87

Antworten:

771

Wie erwartet haben Sie keine Anwendung text-decoration: none;auf einen Anker ( .boxhead a), sondern auf ein span-Element ( .boxhead).

Versuche dies:

.boxhead a {
    color: #FFFFFF;
    text-decoration: none;
}
Davor Lucic
quelle
12
Aber was ist, wenn Sie auch Text haben , der den Bereich umgibt, und Sie möchten, dass der umgebende Text den Link unterstreicht, der Text innerhalb des Bereichs jedoch keinen?
JMTyler
4
@rebus, kannst du nicht? Warum nicht? Denn in mindestens IE7 + und FireFox 4+ können Sie, aber aus irgendeinem Grund nicht in Chrome. Hier ist der Code, den ich in den von mir getesteten Nicht-Chrome-Browsern verwenden muss: .toc-list a > span{text-decoration:none !important;} Ich denke, die Frage von @ JMTyler ist legitim. Ich suche nach der gleichen Lösung.
Tony Topper
7
Es scheint, dass text-decorationdas Überschreiben verschachtelter Tags nicht unterstützt wird, wie oben angedeutet. Sobald Sie eine a { text-decoration: underline; }Regel angewendet haben, können Sie sie nicht mehr anwenden, z a .wish_this_were_not_underlined { text-decoration: none; }. B. mit . Ich kann keine Referenz dafür finden, aber das ist meine Erfahrung (in Chrome).
Teilweise bewölkt
2
Wie andere oben konnte ich den Text nicht durch Anwenden unterstreichen. text-decoration: none;Stattdessen haben wir uns entschieden, die Zeile mit auszublenden text-decoration: underline; text-decoration-color: white;. / Hack
Ryan Burbidge
1
Wenn Sie nur versuchen, die Unterstreichung von einem Element innerhalb eines Ankers und nicht vom gesamten Anker zu entfernen. Sie müssen das innere Element wie folgt zu einem Inline-Block machen: .boxhead .otherPage { display: inline-block; color: #FFFFFF; text-decoration: none; }
Patrick Denny
213

Das Ankertag (Link) hat auch Pseudoklassen wie besucht, schweben, verknüpfen und aktiv. Stellen Sie sicher, dass Ihr Stil auf die betreffenden Status angewendet wird und dass keine anderen Stile in Konflikt stehen.

Zum Beispiel:

a:hover, a:visited, a:link, a:active
{
    text-decoration: none;
}

Weitere Informationen zu Benutzeraktions- Pseudoklassen finden Sie unter W3.org : hover ,: active und: focus.

JYelton
quelle
5
Ich denke du meinst a:linkwenn du sagsta:click
artlung
6
Dies sollte die tatsächlich akzeptierte Antwort sein, da ich das gleiche Problem hatte, nachdem ich auf meinen Button-Link geklickt hatte. Das besuchte Objekt wurde immer noch lila, als ich auf die Seite zurückkam.
Doresoom
33

text-decoration: none !importantsollte es entfernen .. Sind Sie sicher, dass es nicht border-bottom: 1px solidlauert? (Verfolgen Sie den berechneten Stil in Firebug / F12 im IE)

Alex K.
quelle
4
Die Einstellung hat border-bottom-style: none;es für mich behoben.
Helder S Ribeiro
27

Fügen Sie dieses Attribut einfach Ihrem Ankertag hinzu

style="text-decoration:none;"

Beispiel:

<a href="page.html"  style="text-decoration:none;"></a>

Oder verwenden Sie den CSS-Weg.

.classname a {
    color: #FFFFFF;
    text-decoration: none;
}
Nagarajan SR
quelle
16

Manchmal sehen Sie einen Kastenschatten, keine Textunterstreichung.

Versuchen Sie dies (mit den für Sie geeigneten CSS-Selektoren):

a:hover, a:visited, a:link, a:active {

    text-decoration: none!important;

    -webkit-box-shadow: none!important;
    box-shadow: none!important;
}
Jeffjack
quelle
1
Dies sollte die Antwort sein. Manchmal gibt Box Shadow einen unterstreichenden Effekt.
Bhargav
Es ist eine Antwort, aber nicht die beste. Der Umfang dieser sind global und nicht spezifisch. So etwas sollte den Trick machen : .otherPage a:link {text-decoration:none;}; Wiederholen Sie dies für besucht, aktiv und schweben Sie bei Bedarf.
Ajowi
14

Sie haben text-decoration:nonedas Ankertag verpasst . Der Code sollte also folgen.

.boxhead a {
    text-decoration: none;
}
<div class="boxhead">
    <h2>
        <span class="thisPage">Current Page</span>
        <a href="myLink"><span class="otherPage">Different Page</span></a>
    </h2>
</div>

Weitere Standardeigenschaften für die Textdekoration

Geben Sie hier die Bildbeschreibung ein

Santosh Khalse
quelle
9

Ohne die Seite zu sehen, schwer zu spekulieren.

Aber es klingt für mich so, als ob Sie ein border-bottom: 1px solid blue;Wesen haben könnten . Vielleicht hinzufügen border: none;. text-decoration: none !importantist richtig, es ist möglich, dass Sie einen anderen Stil haben, der dieses CSS immer noch überschreibt.

Hier ist die Verwendung der Firefox Web Developer-Symbolleiste fantastisch. Sie können das CSS direkt dort bearbeiten und prüfen, ob die Dinge funktionieren, zumindest für Firefox. Es ist unter CSS > Edit CSS.

artlung
quelle
9

Wenn Ihre "Unterstreichung" nicht die gleiche Farbe wie Ihr Text hat [und die 'Farbe:' nicht inline überschrieben wird], kommt sie in der Regel nicht von "Textdekoration:". Sie muss "Rand unten" sein.

Vergessen Sie nicht, auch Ihren Pseudoklassen die Grenze zu nehmen!

a, a:link, a:visited, a:active, a:hover {border:0!important;}

Dieses Snippet nimmt an, dass es sich auf einem Anker befindet, ändert es entsprechend in seinen Wrapper ... und verwendet Spezifität anstelle von "! Important", nachdem Sie die Grundursache aufgespürt haben.

Joel Crawford-Smith
quelle
4

Während die anderen Antworten richtig sind, gibt es eine einfache Möglichkeit, die Unterstreichung all dieser lästigen Links zu entfernen:

a {
   text-decoration:none;
}

Dadurch wird die Unterstreichung von JEDEM EINZELNEN LINK auf Ihrer Seite entfernt!

Yarz-Tech
quelle
Stellen Sie sicher, dass es auf dem Ankertag und Inline besser ist, da Sie möglicherweise die Unterstreichung auf anderen Links wünschen.
Asuquo12
2

Wenn text-decoration: noneoder border: 0nicht funktioniert, versuchen Inline - Stil in Ihrem HTML - Anwendung.

Deke
quelle
1

Nutzen Sie einfach die Eigenschaft

border:0;

und du bist gedeckt. Hat perfekt für mich funktioniert, wenn die Textdekoration überhaupt nicht funktioniert.

MK Sandhu
quelle
1

Keine der Antworten hat bei mir funktioniert. In meinem Fall gab es einen Standard

a:-webkit-any-link {
text-decoration: underline;

in meinem Code. Unabhängig davon, um welchen Link es sich handelt, wird die Textfarbe blau und der Link bleibt unverändert.

Also habe ich den Code am Ende des Headers folgendermaßen hinzugefügt:

<head>
  </style>
    a:-webkit-any-link {
      text-decoration: none;
    }
  </style>
</head>

und Problem ist nicht mehr.

Neo
quelle
1
  a {
    color: unset;
    text-decoration: unset;
  }
itzhar
quelle
0

Hier ist ein Beispiel für das LinkButton-Steuerelement von asp.net:

 <asp:LinkButton ID="lbmmr1" runat="server" ForeColor="Blue" />

Code dahinter:

 lbmmr1.Attributes.Add("style", "text-decoration: none;")
JoshYates1980
quelle
0

Sie haben keine Textdekoration in der falschen Auswahl verwendet. Sie müssen überprüfen, welches Tag Sie für die Dekoration benötigen.

Sie können diesen Code verwenden

.boxhead h2 a{text-decoration: none;}

ODER

.boxhead a{text-decoration: none !important;}

ODER

a{text-decoration: none !important;}
Md Abul Bashar
quelle
0

Fügen Sie den folgenden HTML-Code vor das <BODY>Tag ein:

<STYLE>A {text-decoration: none;} </STYLE>

qarly_blue
quelle
0

In meinem Fall hatte ich HTML schlecht geformt. Der Link befand sich innerhalb eines <u>Tags und nicht innerhalb eines <ul>Tags.

mwilcox
quelle
0

Wie andere betonten, können Sie verschachtelte Textdekorationsstile anscheinend nicht überschreiben ... ABER Sie können die Textdekorationsfarbe ändern.

Als Hack habe ich die Farbe so geändert, dass sie transparent ist:

Textdekorationsfarbe: transparent;
Ben
quelle