I’ve abandoned the use of unordered lists altogether whenever possible. They never display consistently across all browsers.
I surround content in a div, then then put each line item in another div with a bullet background image that doesn’t tile and is positioned correctly with respect to the line. Line-height can help too for line items that break the line. It sounds complex but in fact it’s much easier and consistent across all compliant browsers. Here’s an example:
div.list div {padding: 3px 0px 3px 7px; background-image:url(‘http://www.whatever.com/image.gif’); background-repeat:no-repeat; background-position:0 9; line-height:13px;}
Once you get the styles down it’s as easy as:
<div class=”list”>
<div>Item 1</div>
<div>Item 2</div>
<div>