Is there anyway (in CSS) to avoid the underline for the text and links introduced in the page .. ?
a:hover
should also be considered, most popular browsers tend to show an underline on anchors upon hovering.
Use CSS. this removes underlines from a
and u
elements:
a, u {
text-decoration: none;
}
Sometimes you need to override other styles for elements, in which case you can use the !important
modifier on your rule:
a {
text-decoration: none !important;
}
The css is
text-decoration: none;
and
text-decoration: underline;
This will remove your colour as well as the underline that anchor tag exists with
a {
text-decoration: none;
}
a:hover {
color: white;
text-decoration: none;
cursor: pointer;
}
The simplest option is this:
<a style="text-decoration: none">No underline</a>
Of course, mixing CSS with HTML (i.e. inline CSS) is not a good idea, especially when you are using a
tags all over the place.
That's why it's a good idea to add this to a stylesheet instead:
a {
text-decoration: none;
}
Or even this code in a JS file:
var els = document.getElementsByTagName('a');
for (var el = 0; el < els.length; el++) {
els[el].style["text-decoration"] = "none";
}
Use CSS to remove text-decoration
s.
a {
text-decoration: none;
}
Best Option for you if you just want to remove the underline from anchor link only-
#content a {
text-decoration-line:none;
}
This will remove the underline.
Further, you can use a similar syntax for manipulating other styles too using-
text-decoration: none;
text-decoration-color: blue;
text-decoration-skip: spaces;
text-decoration-style: dotted;
Hope this helps!
P.S.- This is my first answer ever!
Sometime it will override by some rendering UI CSS. Better to use:
a.className {
text-decoration: none !important;
}
In my case there was a rule about hover-effect by the anchor, like this:
#content a:hover {
border-bottom: 1px solid #333;
}
Of course, text-decoration: none;
could not help in this situation. And I spend a lot of time until I found it out.
So: An underscore is not to be confused with a border-bottom.
I've been troubled with this problem in web printing and solved. Verified result.
a {
text-decoration: none !important;
}
It works!
To provide another perspective to the problem (as inferred from the title/contents of the original post):
If you want to track down what is creating rogue underlines in your HTML, use a debugging tool. There are plenty to choose from:
For Firefox there is FireBug;
For Opera there is Dragonfly (called "Developer tools" in the Tools->Advanced menu; comes with Opera by default);
For IE there is the "Internet Explorer Developer Toolbar", which is a separate download for IE7 and below, and is integrated in IE8 (hit F12).
I've no idea about Safari, Chrome and other minority browsers, but you should probably have at least one of the three above on your machine anyway.
When you want to use an anchor tag simply as a link without the added styling (such as the underline on hover or blue color) add class="no-style"
to the anchor tag. Then in your global stylesheet create the class "no-style".
.no-style {
text-decoration: none !important;
}
This has two advantages.
It will not affect all anchor tags, just the ones with the "no-style" class added to them. It will override any other styling that may otherwise prevent setting text-decoration to none.
Use css property,
text-decoration:none;
To remove underline from the link.
Don't forget to either include stylesheets using the link tag
http://www.w3schools.com/TAGS/tag_link.asp
Or enclose CSS within a style tag on your webpage.
<style>
a { text-decoration:none; }
p { text-decoration:underline; }
</style>
I wouldn't recommend using the underline on anything apart from links, underline is generally accepted as something that is clickable. If it isn't clickable don't underline it.
CSS basics can be picked up at w3schools
<u>
is a deprecated tag.
Use...
<span class="underline">My text</span>
with a CSS file containing...
span.underline
{
text-decoration: underline;
}
or just...
<span style="text-decoration:underline">My Text</span>
The underline may be removed by a CSS property called text decoration.
<style>
a {
text-decoration:none;
}
</style>
If you want to remove the underline for the text present in the elements other than a, the following syntax should be used.
<style>
element-name{
text-decoration:none;
}
</style>
There are many other text-decoration values that may help you to design links.
Success story sharing
color: black !important;
would be added forbody
, will that also set all elements, including anchors, visited anchors, hovered anchors to be always black?text-decoration: none !important;
forbody
element, then it works for anchors only when you explicitly set styletext-decoration: inherit;
fora
elements.!important
and use specificity and cardinality to override styles, otherwise you can end up with a stylesheet full of!important
without any understanding of the structure that makes it necessary. It is a code smell IMO.!important
is like having a nuke. But once you start down and are seduced to use!important
other elements may get it (nuke) and the advantage is gone in favor of an impasse, which is great for the world, as MUD ensures peace, but in the world of css, such peace means you can't give something the advantage.