hr tags cross-browser


The <hr> tag is rendered differently by different browsers. You could try styling it with CSS, but even that gets mucked about by some browsers. You could use just a styled div instead, but then you'd lose the semantics. The easy way to get a consistent look for your <hr> tags while maintaing semantics is to wrap them in styled divs and hide them, like this:

<style type="text/css">
.hr { 
  line-height: 1px; /*needed for IE/win*/ 
  font-size: 1px; /*needed for IE/win*/ 
  height: 1px; 
  background: #aaa; 
  margin: 15px 0; 
.hidden {
  display: none;

<div class="hr"><hr class="hidden"></div>

This is how it looks: