Removing the <hr /> border styling on IE
css, html, internet-explorer
Solution
http://blog.neatlysliced.com/2008/03/hr-image-replacement/
<style type="text/css">
hr {
background: url(http://placekitten.com/800/100) no-repeat;
border: 0;
height: 100px;
width: 100%;
}
</style>
<!--[if IE 7]>
<style type="text/css">
hr {
display : list-item;
list-style : url(http://placekitten.com/800/100) inside;
filter : alpha(opacity=0);
margin-left: -10px;
width : 0;
}
</style>
<![endif]-->
See it working here: jsFiddle
Problem
Why is it the simple things that IE manages to mess up the most? Anyway I want to replace a normal hr line with a single image a bit like the - § - symbol (on its side). Trying to make it look elegant :) It appears the only way to actually get rid of the border in IE though is to set the color: css value. Doing this will override whatever is set as background-image unfortunately and make the whole hr the parameter for color. It's not possible to wrap it in a div or even really apply a class to it as the client that will be using the site is using a wysiwyg text editor which I don't really relish hacking to insert a div wrapped hr. I am one step away from adding a div block wrapper with jquery, but that seems fundamentally wrong (shotgun vs walnut) - any suggestions?