Oblikovanje vrednosti seznama

Tole bi se moralo nekak dat naredit, ampak me rešitev nekako ne najde.
Imam tole:

<ul class="list">
<li>
1
</li>
<li>
2
</li>
</ul>

Rad bi imel vrednost 1 v background red, in vrednost 2 v background blue.
Za script rešitve vem. Rad bi pure css.
ps
Listu ne morem dodat class, ker je dinamično generiran.

15 odgovorov

CSS Pseudo classes - :first-child?

Ne gre, ker imam enkrat samo en li, drugič dva. Edina varianto vidim v ciljanju vrednosti.

Lahko bi pohackal takole:

HTML:

<ul>
  <li data-value="1">1</li>
  <li data-value="2">2</li>
</ul>

CSS:

[data-value="1"] {
  background-color: red;
}
[data-value="2"] {
  background-color: blue;
}
1

Tole mi je prvo padlo na pamet, a ne morem spreminjat <li... , oz ga generira različno.

Potem samo s CSS ne bo šlo. V CSS s selectorji ne moreš ciljati vsebine.

Ja, res ne bo šlo.
Sem z malo phpja uspel dinamično spreminjat data value listu.

Zakaj ne limate rešitev?

2

wssrpnc, saj tole je rešitev, ki sem jo napisal zgoraj. Če prav razumem Matjaža, mu je le uspelo dodati data-value atribut na LI elemente, čeprav je najprej rekel, da ne gre. :)

wssrpnc:
Zakaj ne limate rešitev?

Če imaš kako, kar z besedo na dan;)
Čeprav sem hacknil skripto, bi raje rešitev brez tega. Ampak kot je Vini rekel, ne gre.

Adjacent selectorji morda?

.list > li { background: red; }
.list > li + li { background: blue; }