Autor Zpráva
LExtR
Profil
Ahoj,

potřeboval bych poradit zda to co zamýšlím je reálné a při nejlepším, jak toho dosáhnout. Chci použít HTML5 tag article tak aby měl při každém novém použití jinou barvu. Vím, že toho lze dosáhnout jednoduchým php řádkem ale rád bych toto provedl v samotném css.

Rád bych se vyhnul metodě <article bgcolor="..."></article> nebo <article style=""></article>. Děkuji za radu :-)
Keeehi
Profil
Můžeš použít <article class=""></article> nebo <article id=""></article> ale nějakému identifikátoru se prostě nevyhneš.
Joker
Profil
LExtR:
V závislosti na struktuře HTML kódu a tom, co konkrétně je požadováno, by to mohlo jít udělat i bez zásahu do HTML kódu, jen přes CSS selektory. Ale řešení přes id nebo class, jak píše Keeehi, bude většinou lepší.

Například:
HTML
<body>
<article>jedna</article>
<article>dva</article>
<article>tři</article>
<article>čtyři</article>
<article>pět</article>
</body>

CSS
article {background: blue;}
article:nth-child(2n) {background: red;}

→ prvky budou mít střídavě modré a červené pozadí.
Tomáš123
Profil
LExtR:
CSS nie je programovací jazyk, takže samozrejme nejde generovať rôzne farby a priradzovať ich podľa nejakého algoritmu.

Môžeš ale farby periodicky opakovať:
article:nth-child(6n + 0) {background: blue;}
article:nth-child(6n + 1) {background: red;}
article:nth-child(6n + 2) {background: orange;}
article:nth-child(6n + 3) {background: yellow;}
article:nth-child(6n + 4) {background: black;}
article:nth-child(6n + 5) {background: white;}

Popis pseudotriedy :nth-child.
LExtR
Profil
Přesně nějakou podobnou funkci hledám jako je zde uvedeno z CSS funkce nth-child. Děkuji moc za pomoc.
weroro
Profil
Ja by som rád podotkol, že k takýmto účelom sú ako stvorené CSS preprocesory. Napr. LESS, SaSS alebo Stylus. Dajú sa tam totiž používať cykly.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: