The list-style:none turns off the regular bullet list styles (circle, disk, square, etc. - there are about a dozen pre-defined styles).
Then the li:before tells it to put a Unicode \25BA character (the triangle) and a space (the \0020) before each list item.
If you need IE7 compatability, however, I think the only way to get there is by creating a little graphic file with the triangle in it, and doing:
ul {
list-style-image:url("/graphics/triangle.gif");
}
In that case, you’d just leave the li alone, with no li:before.
Someone else may have a better workaround for IE7. The problem is that IE7 doesn’t recognize li:before at all.