CSS :not(:last-child):after selector
If it's a problem with the not selector, you can set all of them and override the last one
li:after
{
content: ' |';
}
li:last-child:after
{
content: '';
}
or if you can use before, no need for last-child
li+li:before
{
content: '| ';
}
Every things seems correct. You might want to use the following css selector instead of what you used.
ul > li:not(:last-child):after
Your example as written works perfectly in Chrome 11 for me. Perhaps your browser just doesn't support the :not()
selector?
You may need to use JavaScript or similar to accomplish this cross-browser. jQuery implements :not() in its selector API.