Styling horizontal rules with CSS is fairly intuitive in IE: to change the color, use the color attribute; to change the width and heights, use the width and height attributes.
Styling horizontal rules in other browsers, however, is slightly less intuitive. To change the color of the horizontal rule, you need to change the background-color attribute. However, this still leaves an unsightly shadow effect that the now-deprecated noshade attribute once took care of. This has led many web authors to stop using the <hr /> tag altogether in XHTML, and fake it with borders on empty divs. But there is a simple solution to this problem – turn off the borders on the <hr>!
hr {border-style: none;}
Dotted-line <hr>s
To go one further and have a dotted-line <hr />, set both the color and background-color to match the color of the element it is contained within. Then add a bottom border with the desired pattern (solid, dotted, dashed, etc) to the <hr />, and viola! A dotted horizontal rule:
hr {color: #fff; background-color: #fff; border: 1px dotted #ff0000; border-style: none none dotted; }
-
this was exactly what i was looking for! nice tip!
-
thanks for your tip
-
this is cool – thanks!
i wanted to use these in divs that have various different background colors, so instead of fixing the ‘color’ and ‘background-color’ values I did this:
color:inherit;
background-color:inherit;which works great (in FF and Opera, that I know of – I don’t have IE or Safari right now).
-
beautiful brief stable resolve!
thanx you lot!
it’s really usefull tip! -
GREAT!! This was what I was looking for!!
-
Thank you! You are a savior!
-
Brilliant, thanks very much for the tip

14 comments
Comments feed for this article
Trackback link: http://www.thatvoodooyoudo.com/css/styling-horizontal-rules/trackback/