Da Sie nicht bezeichnen kann, eine Strategie ist, um es zu entfernen und einen Rahmen zu verwenden.
.link-articles
{
border-bottom: solid 1px blue;
text-decoration: none;
}
.link-articles:hover
{
border-bottom-color: red;
}
Beachten Sie, dass, wenn Sie die text-underline
verlassen, wird es nach unten verschieben, wenn schweben, da es die Platzierung ist nicht genau die gleiche Position wie die untere Grenze.
Dieser Ansatz hat einen zusätzlichen Vorteil des Unterstrich zu
Position der Lage ist, durch Verwendung von
line-height
und
Alternate Line Arten, von solid
mit dotted
oder dashed
ersetzen.
Borderless Ansatz:
Wie @Pacerier in den Kommentaren weist darauf hin, hier ist eine alternative Strategie Pseudo-Klassen und CSS-Gehalt (JSFiddle):
.link-articles
{
position: relative;
}
.link-articles[href="#articles"]:after
{
content: 'My Articles';
}
.link-articles:after
{
color: red;
left: 0;
position: absolute;
top: 0;
}
jedoch mit anti- Aliasing, kann es eine Farbmischung an den Textkanten haben. Wenn Ihnen der Gedanke, content
in Ihrem CSS nicht manuell eingeben zu müssen, nicht gefällt, können Sie ein Attribut oder ein doppeltes Element verwenden.
Wir ** können ** die Farbe angeben der Text unterstreichen, da es die gleiche Farbe wie der Text sein wird. Um zwei verschiedene Farben für die Schriftart und Unterstreichung zu haben, müssen wir ** einen neuen Text darüber überlagern, so dass die alte Textfarbe durch die neue Textfarbe abgedeckt wird. – Pacerier
Danke für die Klärung, @Pacerier. Ich habe meine Antwort aktualisiert, um einen Ansatz mit Text-Overlays einzubeziehen. Persönlich mag ich den Border-Ansatz, weil Sie die Positionierung mit 'line-height' feineinstellen können und verschiedene Rahmenstile wie' dotted' verwenden können. – Quantastical
Wie genau kann die Position der Linie mit 'line-height' gesteuert werden? Wenn ich in Safari teste, ist der Abstand der Linie vom Text nicht betroffen. Eine größere Zeilenhöhe als der umgebende Text vergrößert nur den Abstand zur nächsten Zeile. Eine kleinere Zeilenhöhe hat keinerlei Auswirkungen. Die Entfernung der Grenze vom Text ändert sich nie. Vielleicht funktioniert es in anderen Browsern, aber nur in kontrollierten Umgebungen wie Intranets. –