<penantic> Vous ne pouvez jamais supposer comment un navigateur rendra votre code HTML. une balise affiche une ancre que le navigateur choisit d'afficher comme soulignée par défaut. u est la seule balise de soulignement. les réponses ci-dessous sont des réponses CSS </pendantic>
Compte mort le
44
L'ironie que quelqu'un soit assez pédant pour faire ce commentaire, mais pas assez pédant pour épeler le mot correctement (ou même régulièrement!) Me souffle.
Technetium
En plus des réponses ci-dessous, la manipulation a:hoverdoit également être prise en compte, les navigateurs les plus populaires ont tendance à souligner les ancres lors du survol.
Fr0zenFyr
Réponses:
517
Utilisez CSS. cela supprime les soulignements aet les uéléments:
a, u {
text-decoration: none;}
Parfois, vous devez remplacer d'autres styles pour les éléments, auquel cas vous pouvez utiliser le !importantmodificateur sur votre règle:
Si color: black !important;est ajouté pour body, cela définira-t-il également tous les éléments, y compris les ancres, les ancres visitées, les ancres planées pour être toujours noirs?
Ωmega
Ωmega Δ, apparemment non, et grâce à vous l'avoir signalé, j'ai trouvé une erreur dans la règle générale du corps. J'ai mis à jour ma réponse.
Emil Vikström
Ce que j'ai trouvé, c'est que si vous définissez le style text-decoration: none !important;pour l' bodyélément, cela ne fonctionne pour les ancres que lorsque vous définissez explicitement le style text-decoration: inherit;pour les aéléments.
Ωmega
7
Il est généralement préférable d'éviter !importantet d'utiliser la spécificité et la cardinalité pour remplacer les styles, sinon vous pouvez vous retrouver avec une feuille de style pleine !importantsans aucune compréhension de la structure qui la rend nécessaire. C'est une odeur de code IMO.
Mike Lyons
!importantc'est comme avoir une bombe nucléaire. Mais une fois que vous démarrez et êtes séduit par l'utilisation d' !importantautres éléments, vous pouvez l'obtenir (nuke) et l'avantage est parti en faveur d'une impasse, ce qui est formidable pour le monde, car la MUD assure la paix, mais dans le monde du CSS, une telle paix signifie que vous ne pouvez pas donner à quelque chose l'avantage.
Bien sûr, mélanger CSS avec HTML (c'est-à-dire CSS en ligne) n'est pas une bonne idée, surtout lorsque vous utilisez des abalises partout.
C'est pourquoi c'est une bonne idée d'ajouter ceci à une feuille de style à la place:
a {
text-decoration: none;}
Ou même ce code dans un fichier JS:
var els = document.getElementsByTagName('a');for(var el =0; el < els.length; el++){
els[el].style["text-decoration"]="none";}
Pour donner une autre perspective au problème (comme déduit du titre / contenu du message d'origine):
Si vous souhaitez rechercher ce qui crée des soulignements voyous dans votre code HTML, utilisez un outil de débogage. Vous avez l'embarras du choix:
Pour Firefox, il y a FireBug;
Pour Opera, il y a Dragonfly (appelé "Developer Tools" dans le menu Tools-> Advanced; livré avec Opera par défaut);
Pour IE, il y a la "barre d'outils des développeurs Internet Explorer", qui est un téléchargement séparé pour IE7 et inférieur, et est intégrée dans IE8 (appuyez sur F12).
Je n'ai aucune idée de Safari, Chrome et d'autres navigateurs minoritaires, mais vous devriez probablement avoir au moins l'un des trois ci-dessus sur votre machine.
Lorsque vous souhaitez utiliser une balise d'ancrage simplement comme lien sans que le style ajouté (comme le soulignement au survol ou la couleur bleue) s'ajoute class="no-style"à la balise d'ancrage. Ensuite, dans votre feuille de style globale, créez la classe "sans style".
.no-style {
text-decoration: none !important;
}
Cela présente deux avantages.
Cela n'affectera pas toutes les balises d'ancrage, seulement celles avec la classe "no-style" qui leur est ajoutée.
Il remplacera tout autre style qui pourrait autrement empêcher de définir la décoration de texte sur aucun.
Ou insérez CSS dans une balise de style sur votre page Web.
<style>
a {text-decoration:none;}
p {text-decoration:underline;}</style>
Je ne recommanderais pas d'utiliser le soulignement sur autre chose que des liens, le soulignement est généralement accepté comme quelque chose qui est cliquable. S'il n'est pas cliquable, ne le soulignez pas.
Les bases CSS peuvent être récupérées dans w3schools
a:hover
doit également être prise en compte, les navigateurs les plus populaires ont tendance à souligner les ancres lors du survol.Réponses:
Utilisez CSS. cela supprime les soulignements
a
et lesu
éléments:Parfois, vous devez remplacer d'autres styles pour les éléments, auquel cas vous pouvez utiliser le
!important
modificateur sur votre règle:la source
color: black !important;
est ajouté pourbody
, cela définira-t-il également tous les éléments, y compris les ancres, les ancres visitées, les ancres planées pour être toujours noirs?text-decoration: none !important;
pour l'body
élément, cela ne fonctionne pour les ancres que lorsque vous définissez explicitement le styletext-decoration: inherit;
pour lesa
éléments.!important
et d'utiliser la spécificité et la cardinalité pour remplacer les styles, sinon vous pouvez vous retrouver avec une feuille de style pleine!important
sans aucune compréhension de la structure qui la rend nécessaire. C'est une odeur de code IMO.!important
c'est comme avoir une bombe nucléaire. Mais une fois que vous démarrez et êtes séduit par l'utilisation d'!important
autres éléments, vous pouvez l'obtenir (nuke) et l'avantage est parti en faveur d'une impasse, ce qui est formidable pour le monde, car la MUD assure la paix, mais dans le monde du CSS, une telle paix signifie que vous ne pouvez pas donner à quelque chose l'avantage.Le CSS est
et
la source
Cela supprimera votre couleur ainsi que le soulignement avec lequel la balise d'ancrage existe.
la source
L'option la plus simple est la suivante:
Bien sûr, mélanger CSS avec HTML (c'est-à-dire CSS en ligne) n'est pas une bonne idée, surtout lorsque vous utilisez des
a
balises partout.C'est pourquoi c'est une bonne idée d'ajouter ceci à une feuille de style à la place:
Ou même ce code dans un fichier JS:
la source
Utilisez CSS pour supprimer l'
text-decoration
art.la source
Meilleure option pour vous si vous souhaitez simplement supprimer le soulignement du lien d'ancrage uniquement -
Cela supprimera le soulignement.
De plus, vous pouvez également utiliser une syntaxe similaire pour manipuler d'autres styles en utilisant-
J'espère que cela t'aides!
PS- Ceci est ma première réponse!
la source
dans mon cas, il y avait une règle sur l'effet de survol par l'ancre, comme ceci:
Bien sûr,
text-decoration:none;
ne pouvait pas aider dans cette situation. Et je passe beaucoup de temps jusqu'à ce que je le découvre.Donc: un trait de soulignement ne doit pas être confondu avec un fond de bordure.
la source
Parfois, il sera remplacé par un rendu de l'interface utilisateur CSS. Mieux utiliser:
la source
Pour donner une autre perspective au problème (comme déduit du titre / contenu du message d'origine):
Si vous souhaitez rechercher ce qui crée des soulignements voyous dans votre code HTML, utilisez un outil de débogage. Vous avez l'embarras du choix:
Pour Firefox, il y a FireBug;
Pour Opera, il y a Dragonfly (appelé "Developer Tools" dans le menu Tools-> Advanced; livré avec Opera par défaut);
Pour IE, il y a la "barre d'outils des développeurs Internet Explorer", qui est un téléchargement séparé pour IE7 et inférieur, et est intégrée dans IE8 (appuyez sur F12).
Je n'ai aucune idée de Safari, Chrome et d'autres navigateurs minoritaires, mais vous devriez probablement avoir au moins l'un des trois ci-dessus sur votre machine.
la source
Lorsque vous souhaitez utiliser une balise d'ancrage simplement comme lien sans que le style ajouté (comme le soulignement au survol ou la couleur bleue) s'ajoute
class="no-style"
à la balise d'ancrage. Ensuite, dans votre feuille de style globale, créez la classe "sans style"..no-style { text-decoration: none !important; }
Cela présente deux avantages.
la source
N'oubliez pas non plus d'inclure des feuilles de style à l'aide de la balise de lien
http://www.w3schools.com/TAGS/tag_link.asp
Ou insérez CSS dans une balise de style sur votre page Web.
Je ne recommanderais pas d'utiliser le soulignement sur autre chose que des liens, le soulignement est généralement accepté comme quelque chose qui est cliquable. S'il n'est pas cliquable, ne le soulignez pas.
Les bases CSS peuvent être récupérées dans w3schools
la source
est une balise obsolète.
Utilisation...
avec un fichier CSS contenant ...
ou juste...
la source
Utilisez la propriété css,
Pour supprimer le soulignement du lien.
la source
Le soulignement peut être supprimé par une propriété CSS appelée décoration de texte.
Si vous souhaitez supprimer le soulignement du texte présent dans les éléments autres que a , la syntaxe suivante doit être utilisée.
Il existe de nombreuses autres valeurs de décoration de texte qui peuvent vous aider à créer des liens.
la source
J'ai été troublé par ce problème dans l'impression Web et résolu. Résultat vérifié.
Ça marche!.
la source