I want this HTML...
<ol style="list-style:decimal;">
<li>Apples</li>
<li>Oranges</li>
</ol>
...to render like this
Q1. Apples
Q2. Oranges
In other words, I want the auto-generated numbers to be prefixed with the static string "Q".
I've tried CSS like this:
ol li:before
{
content:"Q";
}
But that produces this:
- QApples
- QOranges
I've also tried using "list-style:numbered inside;", but that just shifts the list to the right with the same results. I can't find a way to reference the auto-generated number elements in any way to add CSS styling information to them. This seems like such a simple, common scenario, yet I can't find any way to accomplish it with straightforward CSS (without CSS counters, JavaScript, etc.).
There is a, fragile, non-counter method, but it's prone to breaking:
JS Fiddle demo.
The only pure CSS way is with counters:
You cannot achieve this besides using CSS counters (which were designed specifically for such use cases!) or JavaScript.
By the way, it's
decimal
, notnumbered
.