Ahoj,
chtěl bych nastavit hromadné formátování pro nadpisy a odstavce v nějaké css třídě. Jak by byla správná syntaxe?
Teď mám tohle:
.main h1, h2, h3, h4, h5, h6, p {}
Co mě zajímá je, jestli CSS to .main bere jako součást toho h1 nebo jestli se započítá do všech dalších prvků.
Díky
No tak nic. Už jsem si to zjistil metodou pokus omyl. Omlouvám se za stupidní otázky..)
Kdyby tě unavil tento postup, zkus kouknout sem: http://www.jakpsatweb.cz/css/
Tam jsem se taky úplně nejdřív koukal. Pak jsem ještě lehce zkusil google. Jenže všude jsem narazil jen na definici kontextové a hromadné deklarace, ale ne jejich sloučení. Takže jsem to musel vyzkoušet. No teď když už to chápu, tak to vypadá logicky, ale předtím jsem si tak jistý nebyl.
w3c.org
http://www.volny.cz/peter.mlich/www.htm#msub6
http://www.w3.org/TR/CSS21/cover.html#minitoc
.main h1
<NECO class="main">
<H1>...</H1>
</NECO>
<NECO class="main">
<NECO><H1>...</H1></NECO>
</NECO>
to odpovida tvemu zapisu
Je fakt, že mi v CSS chybí něco jako:
.menu (h1, h2, ul, li, p) {fghsfgh: sdfgs}
Taková hromadná deklarace pro různé elementy v .menu. Pokud někdo nechápe co myslím, tak správně je to:
.menu h1, .menu h2, .menu ul, .menu li, .menu p {fghsfgh: sdfgs}
Jde to nějak šikovněji?
R.U.R. (jsrosa.wz.cz)
novy dotaz, nove tema. Nevim o nicem takovem. Videl jsem to resit pres PHP a replace
$str = "AAA : BBB";
str_replace('AAA','font-style',$str);
<HTML>Dotaz: Nedaří se mi hrát Monopoly, nevíte proč? Zkouším to a to...
Odpověď: Zkus tamto a tamto.
Odpověď od pana pety: Existují desetistěnné kostky.
Fakt díky za takovou odpověď - mohl bys ji trochu rozvést? Konkrétně aplikovat na ten problém? Mimochodem R.U.R. nevznesl nový dotaz - jen si povzdechl, že to nejde řešit tak jednoduše.</HTML>
Fakticky je to úplně ten samý dotaz jako byl ten původní, jen lépe napsaný (imvvvho).
Řešit to přes PHP a replace - to myslíš jako parsovat phpkem ten css styl? To mi přijde trochu na hlavu, i když svůj smysl to má - napíšu si do CSS nějaké svoje vychytaný pseudodeklarace a PHPkem si to pak proparsuju do opravdovýho CSS. Ale radši bych teda rovnou napsal to CSS s pomocí php, něco stylu:
foreach(array('tr','td','th') as $id) echo '.klasa '.$id.', ';
a napsal bych si to jako funkci samozřejmě...
No, nakonec to neni moc velkej rozdíl oproti tomu parsování, ale mělo by to snad běžet rychlejc.
Ale o to mi nešlo, zajímá mě, jestli na to není nějaký pure CSS způsob. Pokud ne, možná by to stálo za návrh...
R.U.R. (jsrosa.wz.cz)
na jakpsatweb jsem se o tom kdysi s kymsi bavil a rikal, ze nic takove neni, ze mam pouzit php.
Nípal (moderátor)
Nevim, o cem mluvis, zkus konkretne rici, na ktery prispevek reagujes nebo zmen status na normalni franta uzivatel, na jehoz prispevek je treba mit povestnou kristalovou kouli :)
Jestli se jedna o PHP reseni, tak jsem myslim byl dost konkretni. Ale pro tebe zvlast pridam extra verzi.
zakladem je priklad z example
http://cz.php.net/str_replace
doplneny o funkce
http://cz.php.net/array
soubor_css.php
<?php
$css_konstanty = array(
'AAA' => "#ff0000",
'BBB' => "#00bb00",
'modry_podklad' => "#ccddff",
'CONST_cerveny_podklad' => "#ffddcc"
);
$str = "
body {color:AAA; background:BBB;}
table {color:AAA;}
P {background:modry_podklad;}
A {background:CONST_cerveny_podklad;}
";
str_replace(array_keys($css_konstanty),array_values($css_konstanty), $str);
?>
Ja myslim, ze zkracena verze bohate staci a funguje
$str = "AAA : BBB";
str_replace('AAA','font-style',$str);
predpokladam, ze vis, jak str_replace funguje, pripadne si umis dohledat na php.net neco vic o teto funkci.
jj, kdo ví co je str_replace tak asi i ví jak to použít
Chudák server, kdyby tohle dělal každý, tak server brzo klekne. Neříkám, že PHP parsuje pomalu, ale není to stejný, jako když se serveru dotážeš jen na .css, který jen pošle a neparsuje..
OndraSter (ondragames.wz.cz)
Vzdycky si muzes udelat PHP program, ktery ti vygeneruje CSS soubor. Neni treba jej pokazde generovat znovu.
naštěstí to css typicky parsuješ pro každýho klienta jen jednou za session...
já třeba jsem svýho času někde měl styl css.php a pár věcí jsem generoval dynamicky podle rodiny prohlížeče (už nevim proč)
peta: To máš zas rychlejší, než psát na to PHP skript, to napsat ručně. ;-)
OndraSter (ondragames.wz.cz)
Vse zavisi od situace.
Pokud mas rozsahlejsi CMS a v nem more portletu (takovych tech bloku po stranach jako aktuality, prihlaseni a pod), tak kazdy muze mit svuj CSS. A jak to uzivateli urychlis?
Tim, ze mu posles v HTML kodu
<link css1><link css2><link css3><link css4><link css5><link css6>
nebo
<link jedencss>
Proste to PHP spojis do jednoho. Navic muzes odstranit ruzne komentare, mezery a pod. Vygenerujes CSS.
No třeba já to prostě napíšu rovnou do jednoho CSS souboru ;-) Ale asi by bylo zajímavý mít na webu skript co bude komprimovat css - jako že odstraní white chars a komentáře a tak... Možná na to něco existuje, jestli ne, tak to rád zkusim napsat :-)