css3x

Ja bych treba sloucil vsechny filtry do jednoho volani
script: nazev(parametry);
script: opacity(parametry);
Tim padem by se vsechny scriptove veci prevedli pod jeden nazev a takove jako khtm-opacity, a pod uz neni treba. Pokud mermomoci chce nekdo odlisovat opacitu, tak bych zavedl nejak parametr pro prohlizec a on podle toho rozhodne, jaky algoritmus pouzije, pokud jej ma.

Pak bych zavedl konstanty a to treba pres %%
%%hodnota {value:1px}
%%skupina {border:%%hodnota solid #f00; background:...}
.ram {%%skupina}

Normal prohlizec by na tom zahlasil error, co to zna, by to provedl. Jediny problem je, ze by se zas delala alternativa pro ostatni prohlizece :) To by mohl umet ostatne prohlizec vygenerovat, view as css2 .
CSS můžeš generovat klidně pomocí PHP. Můžeš mít tolik proměnných, kolik se ti zlíbí.
peta:
To první nechápu. Ve standardním CSS má každá property jen jeden název, ty ostatní jsou nějaké nestandardní, které až se zestandardní, tak taky budou mít jen jeden název. Např. je v CSS3 opacity, která se chová tak jak má a lepší prohlížeče ji podporujou (třeba z těch co mám doma všechny kromě IE, mam IE6). Ty nestd maj význam jen u prohlížečů, které nepodporujou nové standardy.
Konstanty jsou bohulibouvěcí, ale lepší by bylo držet se toho co je v CSS legální, aby tam prohlížeče nepadaly na držku.
Třeba tuším, že vlastnost začínající mínusem je legální zápis vlastnosti, která není ve standardu - tudíž by se to asi dalo použít, pokud bys to nechtěl zavést jako standard. Nebo je cpát do komentáře, jako to dělá IE.
Můžeš si na to pak napsat plugin, kterej v prohlížeči dodělá podporu pro to tvoje CSS ;-))
Nebráním se iniciativě, ale...jak chceš řešit (alespoň částečnou) zpětnou kompatibilitu? Když začneš používát takovéto "css proměnné", jak to pochopí jiné prohlížeče, starší prohlížeče?

Jak už napsal R.U.R... opacity je standardizovaná vlastnost, normálně jako opacity:0.3; Ovšem některé prohlížeče ji (ještě stále) neznají a nezná ji myslim ani validator od w3c.
a) nepochopí a budou ignorovat
b) serverová podpora, server zjistí, jestli klient podporuje petaCSS, a pokud ne, vyhodnotí konstanty nějakym parserem
c) rovnou to zavést jako parsované CSS, ze kterého se na serveru vygeneruje normální CSS (pak se nabízí otázka, proč nepoužít rovnou PHP, a odpověď je, že takhle by to bylo hezčí, přehlednější, a potenciálně rychlejší)
CSS se podobně jako spousta dalších součástí webu dá vygenerovat i offline pomocí PHP. Nemá to sice to online kouzlo, ale ve finále je to rychlejší a méně zatěžuje server. Také se nemusím ohlížet na verzi PHP na serveru a mohu použít třeba 5.3.

Zůstává otázkou, proč se omezovat na PHP, když si na generování CSS mohu vybrat cokoli jiného, např. Bash, Lua, Perl, Python a kdovíco ještě.
Odpovědí je, že PHP je nejběžněji k dostání.
Ale ano, když potřebuju nějakou ptákovinu, tak si to doma vygeneruju přes PHP a zveřejnim až ten produkt, pokud je to statické povahy.
Kdyz to chcete generovat v PHP, tak zapomente, ze jsem mel nejaky navrh.
V php se take resi framy a menu pres include, i schopnejsi cms ukladani primo html kod, tak to proste budem delat v php, protoze je ten soubor pak vetsi.

R.U.R. - ale az nekdy budes delat vic webek s ruznym skinem, ktere nemaji generator css a nemas cas nic takove vytvaret, tak uvitas, kdyz mas nahore seznam grafiky co nejstrucneji a nemusis prochazet rucne radek po radku a opravovat barvicku.
To první se nechystám uposlechnout, návrh je to dobrej, ale vzhledem k tomu, že to zatím není nikde podporováno, tak to pochopitelně chci generovat v PHP. Moh bych to místo toho chtít generovat třeba v C#, abych nemusel zapomínat, žes měl nějaký návrh, ale ten mi nepoběží na webu.

Eh? Já když to napíšu v PHP tak mam ten soubor typicky *menší* než kdybych to transformoval do statického html.
Jinak souhlasím, že z pohledu rychlosti zpracování je lepší to exportovat do html, ale jednak to není významný rozdíl (mnohem dýl se typicky čeká na vytvoření spojení a případně na přenos dat než na doběhnutí skriptu), a jednak z pohledu správy je samozřejmě pohodlnější PHP. Pokud z toho člověk chce generovat statické html, tak se principielně nevyhne tomu, že musí mít ty informace uložené dvojmo (zdroj a export), a pracovat stylem 1. změním zdroj 2. provedu export... Neříkám, že je to špatně, ale aby se s tím pracovalo aspoň trochu pohodlně, je na to potřeba aspoň nějaké malé ručně napsané CMS. Ale i v tomto případě to stejně napíšu v PHP a zase se obejdu bez CSS konstant.

Pokud je záměna barev 1:1, je to na každou barvu jeden příkaz Nahradit.
Pokud ne, tak to co honosně nazýváš "generátor CSS" je ve skutečnosti prakticky totéž jako navrhuješ ty, jen s jinou syntaxí (a trochu delší - o stálé <?php ?>):

<?php
$barvaPozadi='#abcdef';
$barvaTextu='#123456';
$barvaHovna='crap';
?>

body {color: <?php echo $barvaTextu ?>; background-color: <?php echo $barvaPozadi ?>; font-family: sans-serif}

#hlavicka {background-color: <?php echo $barvaTextu ?>; color: <?php echo $barvaPozadi ?>; font-family: serif}

.hovno {color: <?php echo $barvaHovna ?>; }
Ono to nemusí vypadat zas tak odpudivě. Trochu jsem předchozí příklad upravil:

<?php
$barvaPozadi='#abcdef';
$barvaTextu='#123456';
$barvaHovna='crap';

echo "body {
color: $barvaTextu;
background-color: $barvaPozadi;
font-family: sans-serif;
}

#hlavicka {
background-color: $barvaTextu;
color: $barvaPozadi;
font-family: serif;
}

.hovno {
color: $barvaHovna;
}";
?>
Jo, to je hezčí, ale zase se pak musej escapovat " v CSS (třeba u názvu písma - nevim ted jestli se daj použít i '). Možná bych na to použil heredoc, nevim ted přesně jak funguje ale myslim že přesně tak jak se nám to tady hodí :-)
Protoze dnes JS bezi na vetsine strojich, dalo by se vyuzit JS tim, ze by se to do stranky vlozilo pres ajax a prepsalo pres vlastni JS parser a pak pridalo jako style tag.
Sice by to bylo pomalejsi a narocnejsi na jedno vlozeni script, ale funkcni.
Řekl bych, že jednodušší než AJAX bude
<link rel="StyleSheet" href="style.php" type="text/css">
parse_css3.php?soubor=style.cs3
Ještě tomu skriptu můžeš přidat javascriptem další parametry o vlastnostech prohlížeče.
"parse_css3.php?soubor=style.cs3"
Tohle je *hodně* o hubu, to si přímo říká o to, abych zkusil třeba:
parse_css3.php?soubor=index.php
a? neumis si pohlidat vstupni parametry?
Když se mají načítat soubory (pro úpravu) přes parametry, je nejjednodušší (a téměř vždy možné) se při kontrole parametru omezit na povolené hodnoty (například pole s názvy stylových souborů, jiné vyhodit)..
Název "parse_css3.php" mi připadá jako název obecného skriptu pro přeparsování css3 - pokud bys to css3 chtěl trochu prosadit, musel bys tenhle skript distribuovat lidem. A vypadalo by divně při každym novym css3 souboru muset zasahovat do toho skriptu.
Nějak rozumně kontrolovat to samozřejmě jde, možná by stačilo kontrolovat příponu, jen když se to napíše takhle rovnou, tak to vypadá na první pohled nebezpečně.
<cite>Ja bych treba sloucil vsechny filtry do jednoho volani</cite>
Pete, tohle umí snad všechny běžné JS framevorky.
Bubák (teststranek.kvalitne.cz)
Bavime se stale o css a prohlizeci nebo o frameworcich, ktere ulehcuji praci?
Mi jde o to prosadit to do prohlizece, jednoduchou formu, abys na to nemusel stahovat 150k knihovnu jquery nebo neco podobne. Ju?
Jůůů, a o čem jsi to povídal 24. 08. 2009 v 13:43?