I’m looking for a way to style an unordered list in XHTML with CSS such that it is rendered inline and the list items are separated by commas.
For example, the following list should be rendered as apple, orange, banana
(note the missing comma at the end of the list).
<ul id="taglist"> <li>apple</li> <li>orange</li> <li>banana</li> </ul>
Currently, I’m using the following CSS for styling this list, which almost does what I want, but renders the list as apple, orange, banana,
(note the trailing comma after banana).
#taglist { display: inline; list-style: none; } #taglist li { display: inline; } #taglist li:after { content: ", "; }
Is there a way to solve this problem with pure CSS?
Commas with More Than Two List Items. If there are more than two list items, those following US convention should use a comma before the conjunction (usually "and" or "or"). Those following UK convention should not use a comma.
Notice that you place a comma after each selector and then use "enter" to break the next selector onto its own line. You do NOT add a comma after the final selector.
The toLocaleString method lets us format a number to a string with commas as thousands of separators automatically. You can do HTML input number format comma with it. Or using autoNumeric plugin you can make a field as numeric input with different separators.
To remove the trailing comma, use the :last-child
pseudo-class, like so:
#taglist li:last-child:after { content: ""; }
Replace one your rule
#taglist li:after { content: ", "; }
with just another one
#taglist li + li:before { content: ", "; }
Pros:
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With