pondělí 28. května 2007

Obecné stylesheety pouze v hlavičce?

David Hyatt v pátek napsal:
Unscoped <style> found outside the <head>

Please make this non-conforming. I don't think we should encourage this bad practice.
HTML5 v tuto chvíli podporuje vložení stylesheetu i na specifických místech dokumentu např. na začátku každého <divu> a Hyattovi se tento přístup nelíbí.

Zajímavá byla reakce předsedy Dana Connollyho:
I wonder who you are directing this request to. You're an editor. If you want the spec to change, please change it and let us know.
Kdo pečlivě sleduje všechny změny specifikace možná tuší, na co narážím (ne každá změna je vždy veřejně diskutována, v tak velikém počtu to někdy ani nejde, některé jsou prostě vloženy do specifikace a čeká se, jakou vyvolají reakci), ale o tom někdy příště.

Hyattovu návrhu oponoval Daniel Glazman:
I am not sure this is bad practice and I see this as a very interesting thing for wysiwyg copy/paste between two different document instances. Can you please detail why it is bad practice ?
Glazman je mimo jiné autorem editoru Nvu a není divu, že má trochu praktičtější pohled. V dnešním světě plném redakčních systému autoři obsahu ne vždy mají možnost zasahovat ho hlavičky a přidat vlastní styly někdy potřebují.

Hyatt nicméně svou připomínku rozvedl. Ve svém požadavku totiž nezakazoval vkládání všech stylesheetů, ale jen unscoped styleshteetů (obecných stylesheetů):
Scoped style is a new feature of HTML5.

http://www.whatwg.org/specs/web-apps/current-work/#the-style

I am proposing that be allowed anywhere, but that should only be conforming if used inside the head. I do not believe anyone has presented a valid use case for using unscoped outside of the , and given the performance impact it will have on the display of Web pages, the practice should be strongly discouraged.

I think "scoped" should be even more limited than it already is, and that the HTML5 spec should limit the scoping to nodes that follow the in a pre-order traversal of the tree.
Scoped (cílené) stylesheety se aplikují pouze element a potomky elementu, do kterého byl stylesheet vložen. Pokud bych například do článku tohoto příspěvku vložil cílený stylesheet, aplikoval by se pouze na tento článek (je celý ohraničen divem) a nikoliv na zbytek stránky. Což je ostatně přesně to, čeho bych jeho vložením chtěl docílit.

Debata ještě neskončila, pokud jí chcete sledovat, čtěte vlákno začínající Hyattovým příspěvkem.

6 komentářů:

  1. Zajimava debatu. Skoda, ze jsem nekolika obratum nerozumel. Neskodil by preklad :) Dik

    OdpovědětVymazat
  2. Anonymni: Kdyz stiham, tak se snazim citace prekladat. To o dnesku bohuzel neplati. Nevylucuji, ze citace dodatecne prelozim, ale nic neslibuji.

    OdpovědětVymazat
  3. No já nevím, ale kdo se v tom pak vyzná, když si každý flákne style kam se mu zlíbí... Neříkám, že se to nebude hodit, ale zatím jsem si neujasnil názor, jestli je to vhodné...

    OdpovědětVymazat
  4. "...což je přesně to, čecho bych chtěl docílit."
    což nemusí být zas tak docela pravda, pokud bych chtěl speciálně u aktuálního článku změnit celý design stránky (včetně layoutu).
    Princip zní ale určitě zajímavě jako omezení určitých css vlastností na objekt. Otázkou zůstává zda by to následně nevedlo k dalšímu "prasení" tvůrců webu a ti, neznalí základních (a pokročilých) css selektorů pak vkládali do každého divu takovýhle předpis - což by bylo imho kontraproduktivní...

    OdpovědětVymazat
  5. Zavedení cílených stylopisů s možností vkládat je kdekoli v souboru kvituji s povděkem. Vždyť většina bugů současných prohlížečů už je dobře popsána a lze najít i tabulky toho, co z CSS který prohlížeč podporuje. Nuda...

    Už vidím tu zářnou budoucnost - ani dva prohlížeče nebudou cílené stylopisy implementovat stejně, každý bude podporovat jinou skupinu selektorů a jeden nejmenovaný bude obsahovat celou rodinu bugů, které umožní pomocí dobře cíleného stylopisu ovládat přinejmenším dokument otevřený v sousední záložce, pokud už ne kávovou konvici ve vedlejší místnosti...

    OdpovědětVymazat
  6. Tenhle napad se mi libi a souhlasim s omezenim na scoped. Myslim, ze v kombinaci s AJAXem by to mohla byt uzitecna vec.

    OdpovědětVymazat

Poznámka: Komentáře mohou přidávat pouze členové tohoto blogu.