Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to style unordered lists in CSS as comma separated text

Tags:

html

css

xhtml

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?

like image 613
SwedishChef Avatar asked Oct 04 '09 19:10

SwedishChef


People also ask

How do you put commas between lists?

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.

How do you insert a comma in a CSS file?

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.

How do you add commas to numbers in HTML?

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.


2 Answers

To remove the trailing comma, use the :last-child pseudo-class, like so:

#taglist li:last-child:after {     content: ""; } 
like image 76
Jakob Avatar answered Sep 28 '22 10:09

Jakob


Replace one your rule

#taglist li:after {     content: ", "; } 

with just another one

#taglist li + li:before {     content: ", "; } 

Pros:

  • One rule do all the work.
  • No rules for cancel previous rule,
  • IE8 Support
like image 34
Vladimir Starkov Avatar answered Sep 28 '22 09:09

Vladimir Starkov