39 komentářů k článku Automatické číslování pomocí kaskádových stylů:

  1. Roj

    Jako hračka dobrý, prakticky na nic
    Sice se mi to libi a urcite si to nekam na blog prdnu ale…

    Vyhoda, ze pri zmene obsahu (vlozeni, smazani) se zbytek automaticky precisluje je zaroven smrtelnou nevyhodou. Cislovani se taxtane naprosto samoucelne, protoze neni mocne ciselne odkazat na zadnou takto cislovanou polozku, anic by hrozilo nebezpeci, ze odkaz (nejen hypertextovy) ztrati platnost.

    Cislovani octavcu a kapitol totiz neni presentacni, ale semanticky prvek! Davat ho do CSS je kravina.

    1. Martin HassmanAutor příspěvku

      Re: Jako hračka dobrý, prakticky na nic
      protoze neni mocne ciselne odkazat na zadnou takto cislovanou polozku

      Možné to samozřejmé je. Doporučuji se podívat, jak Hakon s Bertem Bosem psali knihu pomocí HTML+CSS, ve které tohle odkazování používali.

      Jinak na podporu správného rozhodnutí o umístění číslování do CSS doporučuji nastudovat, jak fungují wordprocesory a různé desktop publishing, kde taková číslování bývají také součástí stylů (alespoň tam, kde vím)

      1. Roj

        Re: Jako hračka dobrý, prakticky na nic
        Fakt?
        Takze kdyz ja ted sem do tohoto komentu napisu, ze se mi libi bod 2.4.4 ze stranky na http://superstranka.cz, kam nekdo vlozi mezitim novou kapitolu, tak to bude fungovat?
        Tu knizku MUSIM SEHNAT!! :-)

        1. dond

          Re: Jako hračka dobrý, prakticky na nic
          Roji, číslování podle pořadí není sémantické ani náhodou, to přece nemůžeš myslet vážně.

          Textové procesory používají něco jako kotvy, tzn. každému referencovanému místu (nadpis, citát, rovnice atp.) přiřadíš jednoznačný identifikátor, pomocí kterého se pak odkazuješ. Jestli je nadpis první nebo patnáctý, je pak jedno. Stejně (ne)fungují odkazy na webu – když budeš jako text odkazu používat nadpis odkazované stránky, může se stát, že nadpis někdo změní, ale text odkazu (ve tvém HTML) ne.

          Tvůj příklad je nesmyslný a ty to víš. Když tě odkážu na Shakespearova Hamleta, řekněme na stranu 57, a neřeknu, které vydání mám na mysli – bude to fungovat?

          1. Roj

            Re: Jako hračka dobrý, prakticky na nic
            Jaxem jiz psal, nejde mi o odkazovani hypertextove, ale zcela obecne.
            Textove procesory primarne pocitaji s tim, ze dokument se v jednom omaziku UZAMKNE a cislovani se tim jednoznacne zakonservuje. To se stane nejpozdeji tim, ze se dokument VYTISKNE.
            Pak muzes brat cislovani octavcu jako jednoznacne, trvale a nemenne.

            Tvuj priklad s odkazem na stranku knihy s tim nema naprosto vubec nic spolecneho.

            Pokud beres cislovani octavcu jako dekoraci, pak ano. Octavec ma svoje neviditelne vnitrni ID, ktere je ovsem ctenarum k nicemu, a tak jim naservirujes "nejakacisilka", aby to nevypadalo blbe, hlavne aby sla aritmeticky poporade.
            Ja ho chapu jako dulezitou pomucku v orientovani v textu. Cislo navzdy a trvale patri ke "svemu" octavci. V takovem pripade jednoznacne patri do OBSAHU, nikoliv do CSSS.

            1. kucikk

              Re: Jako hračka dobrý, prakticky na nic
              Řekněme, že máš text o 10 kapitolách. Za pátou kapitolu přidáš ještě jednu. Jaký bude mít číslo? 11? To by nebylo moc přehledný, takže to bude 6 a ke všem následujícím se taky přičte jedna.
              Já bych to vytvářel pomocí CSS, po přidání kapitoly je míň práce.
              BTW každá verze dokumentu může být uložena zvlášť (místa v DB je dost). Stejně jako například na w3.org, kde je taky možnost dohledat každou předchozí verzi. A na ní můžeš odkazovat pomocí "viz kapitola 2.1.3". Tam se to už nezmění.

              1. Roj

                Re: Jako hračka dobrý, prakticky na nic
                Jasne, nejvic to usetri praci zakonodarcum, kdyz se (ciste hypoteticky) rozhodnou pridat za paragraf 1 dalsi paragraf a ono se to krasne precisluje vsecko :-)
                Nas pravni system bude jeste odusevnelejsi, nez uz je :-)

                Jeste stale si nekdo mysli, ze cislo neni soucasti obsahu?

                1. kucikk

                  Re: Jako hračka dobrý, prakticky na nic
                  Číslo kapitoly je pouze pro lepší orientaci a jako takové do obsahu nepatří. Stejně jako například číslo stránky.
                  Když bude mít kapitola číslo 2.1.3 tak to nic nezmění na tom co kapitola popisuje. Z toho usuzuju, že má nulovou informační hodnotu.
                  Data s nulovou informační hodnotou patří do CSS.

                  Každá novela zákona má číslo. Paragraf bez čísla zákonu je na prd. Bez výčitek svědomí bych ty paragrafy přečísloval.

                  1. pankreas

                    Re: Jako hračka dobrý, prakticky na nic
                    Kazdy zakon ma cislo, to je pravda. Novely funguji jako patch, kdy se rekne: Zakonem XY/2008 Sb. se v zakone QP/1966 Sb. v platnem zneni vypousti §107 a do §403, odst. (3) se vklada radek (i) ve zneni "zahradkari, myslivci".

                    Proto v zakonech najdete veci jako "§ 56 (vypusten)".
                    Proto se v kanonickych odkazech uvadi nejen cislo zakona, ale i dolozka "v platnem zneni" – rozumej "ve zneni, kere je platne prave nyni, po upravach vsemi novelami".

                    Precislovani paragrafu je zvracenost – predstavte si deset let trvajici soudni spor, ve kterem se vam kazdy mesic vse precisluje!

                    Cislo je v pripade zakona jednoznacne soucasti obsahu a slouzi jako jedinecny identifikator, jakoz i jako udaj sam o sobe.

                    1. kucikk

                      Re: Jako hračka dobrý, prakticky na nic
                      No tak dobře, když se stanu zákonodárcem, tak paragrafy přečíslovávat nebudu…

                  2. ph55

                    Re: Jako hračka dobrý, prakticky na nic

                    Když bude mít kapitola číslo 2.1.3 tak to nic nezmění na tom co kapitola popisuje. Z toho usuzuju, že má nulovou informační hodnotu.

                    Pre mňa osobne to číslo informačnú hodnotu ma a to dosť veľkú: hovorí, že súvisí s kapitolami 2.1.1,2.1.2 … a je podkapitolou vo „väčšej kapitole 2.1, ktorá patrí taktiež do nejakého celku 2 atď…

                    1. Martin HassmanAutor příspěvku

                      Re: Jako hračka dobrý, prakticky na nic
                      Tyhle informace jsou taky sémanticky v dokumentu zapsány, resp. odvoditelné ze struktury nadpisů h1..h6.

                        1. Martin HassmanAutor příspěvku

                          Re: Jako hračka dobrý, prakticky na nic
                          Ale samozřejmě. Pokud se upraví obsah, změní struktura, pak se změní i souvislosti.

            2. Martin HassmanAutor příspěvku

              Re: Jako hračka dobrý, prakticky na nic

              To, co popisuješ, není nijak specifické pro web. Důsledky jsou totiž naprosto stejné jak pro web, tak pro textové procesory. A dokonce jsou stejné, jak pro automatické, tak pro ruční číslování.

              Jakmile se totiž dokument vytiskne, je úplně jedno, zda byl vytvořen v textovém procesoru nebo v HTML, číslování se nebude měnit ani v jednom případě. A dokud je dokument dostupný v elektronické podobě a může se nadále upravovat (ať již se jedná o vystavený wordovský dokument nebo o HTML), pak při změně dokumentu dojde opět k přečíslování v obou případech, je skutečně jedno, zda je dokument v textovém procesoru nebo v HTML.

              Ono v tomto případě dokonce ani nezáleží, zda je číslování řešeno automaticky nebo ručně. V obou případech při změně dokumentu bude obsah přečíslován (rozdíl je jen, že u automatického číslování to proběhne automaticky, u ručního číslování to autor dokumentu provede ručně, aby zachoval správné pořadí čísel).

              Pravda je totiž taková, že číslování (a to jakékoli, ať již automaticky generované nebo ruční) se nehodí (a svou podstatou není určeno) pro odkazování mezi dokumenty, jejichž obsah se může nadále měnit, k tomu je zapotřebí zvolit jiných nástrojů (Word myslím používal pojmenované záložky, web má své kotvy).

              Naopak se číslování používá pro odkazování uvnitř dokumentu (u něj je to celkem běžné a použili to i Hakon a Bos, jak jsem psal výše), protože je snazší a člověku bližší. Je jednodušší napsat „najdete to v kapitole 8.2″ nebo „najdete to na stránce 4″ (ano i číslování stránek je ve své podstatě automatické číslování) než říkat najdete to v kapitole s názvem „Důležitý závěr“ nebo najdete to na stránce začínající nadpisem „Úvod“ (takhle napsané to možná vypadá komicky, ale kotvy fungují přesně takhle).

              1. Roj

                Re: Jako hračka dobrý, prakticky na nic
                Ano cely problem spociva v tom, ze mezi tistenym dokumentem a webem je rozdil nejen v trvdosti materialu ;-)
                Pokud se pouzije automaticke cislovani v media=print, skoro proti nemu nic nemam.

                Respektive vyraz "automaticke" neni presny, spravny vyraz je "dynamicne cislovani", proti tomu budu za vsech okolnosti.

                Automaticke lze chapat i tak, ze se v jeden okamzik automaticky VYGENERUJI cisla a ZAPISOU SE DO OBSAHU. Proti tomu samozrejme nic nemam. A pochopitelne potom musi editor takoveho dokumentu sam zvazit a rucne provest pripadne precislovani.

                1. Anonymní

                  Re: Jako hračka dobrý, prakticky na nic
                  Článek se mi líbí, nápad je to hezký a provedení elegantní.

                  Roji, s tištěnou podobou bude také problém. Stačí, když já budu mít první vydání knihy a Ty, druhé, rozšířené. Když Ti pak ze své knihy opíšu číslo na zajímavou pasáž – např.: 4.2.3.10 – a Ty ve své najdeš něco jiného, protože jako na potvoru zrovna zde došlo k přečíslování, budeš ve stejném kýblu jako na webu (a já za truhlíka :-) ).

                  Rozdíl vidím pouze v tom, že přečíslování v knihách není tak snadné jako na webu a tak nějak intuitivně cítíme, že vytištěné je neměnné. Stejně jako v knihách, kde bych uvedl krom diskutovaného čísla i ISBN a číslo vydání, tak i u webového dokumentu by bylo třeba odkázat na správnou verzi dokumentu. Ano, ne každý verzuje – přesto doufám, že u dokumentů na "úrovni zákona" (ISO normy ap.) se budou uchovávat veřejně dostupné: 1. verze, 1. revize, 2. revize, 2. revize s dodatkem a pak 2. verze, atd.

                  1. Anonymní

                    Re: Jako hračka dobrý, prakticky na nic
                    Brbla si nepřál zůstat v anonymitě, leč, při prohlížení náhledů a po editacích před odesláním se mu to přesto povedlo 87)

          2. Radek

            Dobře a jak tedy?
            Souhlasím, číslování je věc stylu. V různých stylech můžu kapitoly (ne)očíslovat jinak. Ale jak tedy vyrobit ty odkazy, když nechci hypertextové (třeba pro tisk)? Chci mít v textu napsáno: "Podrobnosti najdete v kapitole X.Y". Nadpis odkazované kapitoly můžu identifikovat třeba atributem id. Podle stylu se mi u nadpisu objeví čísla X.Y. Až sem je to výborné. Ale lze potom nějak spárovat id, na které se odkazuji s vygenerovaným číslem kapitoly? Představuji si něco jako stylové pravidlo pro element <a>, ale netuším, jak propojit counter a id. Funguje něco takového? Pokud ne, tak mi v CSS něco chybí.

            1. Martin HassmanAutor příspěvku

              Re: Dobře a jak tedy?
              Funguje, doporučuji nastudovat http://www.alistapart.com/articles/boom. Ty odkazy a křížové reference jsou ale součástí až CSS3; nejsem si jistý, jak je to se současnou podporou prohlížečů. Určitě je ale podporuje minimálně PrinceXML zmiňovaný v odkazovaném textu a použitý k tištění knihy o kaskádových stylech od Hakona a Bose, kterou napsali v HTML+CSS. To rozhodně nemá být ukázka, že se knihy mají začít psát v HTML (k tomu jsou nástroje jiné a lepší), ale oba pánové se snažili ukázat, že to jde a že všechny potřebné nástroje k tomu existují.

              1. Roj

                Re: Dobře a jak tedy?
                A to uz vubec nemluvim o tom, jaxe dokument bajecne zprehledni, kdyz si nekdo vypne styly :-)))
                Jo ono vlastne vypinat styly uz nejni kůl, aha.

                1. Martin HassmanAutor příspěvku

                  Re: Dobře a jak tedy?
                  V té knížce to mají naopak vyřešené dobře. Reference tam fungují i za vypnutých stylů. To se totiž nezobrazí číselné odkazy na (ty jsou také vkládány styly – generovaný obsahem), ale jen hypertextové odkazy, které fungují. Aneb, jak pěkně udělaný systém, který funguje jak na webu bez stylů i pro tisk.

                  1. Roj

                    Re: Dobře a jak tedy?
                    No jo, to pak ovsem uz neni usnadneni prace, ale pekna vychytavka. Samozrejme, proti peknym vychytavkam nic nemam, dyt jsem rikal, ze si to na blog klidne prdnu. :-)
                    Cislo jako dekorace, proc ne? ;-)

                    Ale puvodni smysl systematickeho cislovani (viz zakony) byl jiny.

                    1. Petr

                      Re: Dobře a jak tedy?
                      Nechápu proč se pořád snažíš hledat nějaký rozpory. Vždyť tvrdíte všichni to samé. Stále se tu dokola píše, že číslování nemá zásadní informační hodnotu, ale pouze zpřehledňuje formátování. Proto patří do CSS.
                      A když je automatické, pracuje se s tím lépe, než když bych musel pořád přečíslovávat ručně.

                      1. Roj

                        Re: Dobře a jak tedy?
                        Cislovani nema zasadni informacni hodnotu. PRO TEBE. V takovem pripade tedy nekam do hlavicky napis, ze to tak je.
                        Protoze ctenarka tohle netusi. Ona si muze myslet, ze je to poctive, muze si zapamatovat, popripade nekam zaznamenat, ze s bodem 8.2 souhlasi/nesouhlasi, ze z neho vychazi. Nezapise si plne zneni toho bodu, jen to cislo.
                        Ty ji ho pak zmenis a zpusobis informacni chaos. Vytvorils barieru, snizils pouzitelnost pri vypnutem CSS. Co se da delat, CSS 2.1. to tak chce, ja uz se nedivim nicemu.

                        1. Honza

                          Re: Dobře a jak tedy?
                          Pokud někdo souhlasí s bodem 8.2 – tak by měl vědět v jakém dokumentu jaké verze. Protože samotné číslo 8.2 nenese žádnou hodnotu, se kterou lze či nelze souhlasit (krom samotné hodnoty 8.2). Já chápu, že to myslíš dobře, přesto se obávám, že je to nešťastné řešení.

                          Chápu, že jako na mapách je každá změna nežádoucí (změna jména ulice, přečíslování domů), je přesto nutné tyto věci dělat, aby se zachovala logika systému (zboří se dům, postaví nový s jiným počtem vchodů – a když se nepřečísluje, tak to je v jiném městě potom navigace – Patočkova 4, 5, 6, 7, 48, 49, 8, 9) – pro nově příchozího lahoda :-) Je to hodně krkolomné, neřeším orientační čísla… Jenže pak něco najít…

              2. Jirka Kosek

                Re: Dobře a jak tedy?
                Jako schůdnější a bezpečnější řešení pro generování čísel a křížových odkazů bych rozhodně viděl využití XSLT pro vygenerování HTML s již doplněnýmu čísly a odkazy. Přece jen CSS3 je v nedohlednu a ty složitější CSS výrazy, které tohle umí, už jsou dost nečitelné.

      2. xx

        Re: Jako hračka dobrý, prakticky na nic

        jak Hakon s Bertem Bosem psali knihu pomocí HTML+CSS

        To ta kniha musela vypadat. Chudaci ctenari.

          1. xx

            Re: Jako hračka dobrý, prakticky na nic
            A mohl bych se zeptat, nevite, cim z te knihy generovali nejaky tisknutelny format (mam na mysli PDF apod.)? Osobne znam jen PrinceXML, ale z hlediska typografie jsou jeho moznosti velice omezene.

            Knihu jsem bohuzel necetl.

            1. Martin HassmanAutor příspěvku

              Re: Jako hračka dobrý, prakticky na nic
              Převedli to pomocí nástroje PrinceXML, který jsem tu již zmiňoval.

    2. Láďa

      Re: Jako hračka dobrý, prakticky na nic
      Hlavní důvod proč se nedají použít prakticky je uvedený, že z rodiny IE to podporuje jenom nevydaný IE8. Takže jenom na intranety a podobně.

  2. Lisicky

    Chyba v příkladu v kapitolce Zobrazení čítače
    Bohužel se žádný čítač nezobrazí. Chyba je i v originále. Chybí tam
    slovíčko content. Správně to má být tedy takto:

    h2:before{ content: counter(section) " "; }

  3. tomaash

    Hezké, ale i tak málo významné
    Je to moc hezké a určitě by to bylo i praktické, kdyby…

    Vezmu to od jinud a položím základní otázku: kdo a jak nejčastěji tvoří obsah na webu?

    Pokud si myslíte, že jsme to my, tj. pokročilí uživatelé, programátoři, nebo vývojáři webu (ať už se pod tím skrývá kdokoliv :), pak jste na omylu. Nejčastěji jsou to lidé, kteří používají nějaké webové rozhraní, nějakého CMS, který jim někdo připravil a ve kterém je velice často nějaký WYSIWYG editor (TinyMCE, a spol.).

    Dobře víme, že ačkoliv jsou to nástroje velice flexibilní a umožňují dělat uživateli spoustu skopičin (například velice oblíbený červený text, žeano :), tak s ním uživatelé umí pracovat na úrovni MS Wordu, tj. vůbec. Nechápou, proč by měli dělat seznamy pomocí toho podivného tlačítka s puntíkama, když jej přeci můžou udělat pomlčkama a textem na novém řádku, nebo dokonce proč by měli dělat číslovaný seznam jinak, než očíslováním nových řádků (a ti pokročilejší/esteticky citlivější, si dokonce všimnou, že text začíná podle plotu, takže jej donutí "chovat se slušně" tabulkou :) Tito lidé dělají nadpisy zásadně pomocí nového odstavce s tučným, zvětšeným písmem, ačkoliv mají k dispozici velice snadný nástroj jak takový nadpis vyrobit třemi kliky (označit text, otevřít roletku a vybrat nadpis).

    Z toho vyplývá, že tyhle vlastnosti jsou úžasné pro nás hračičky, kteří víme, co je CSS a jak funguje, pro nás, kdož tušíme k čemu je sémantické značení obsahu. Pro uživatele, kteří na web jen potřebují něco napsat, je něco takového naprosto zbytečné.

    A teď proč to píšu: dokud někdo uživatele nedonutí/nenaučí používat toho co mají a nevysvětlí jim, k čemu je to dobré, jsou všechny tyhle vychytávky užitečné jen pro těch pár "geeků", kteří je znají a vědí co s nimi. Jako jediné východisko z této šlamastyky se mi jeví zavržení všech WYSIWYG klikátek udělátek, a důsledné protlačování nějaké formy Wiki zápisu. Ale nuťte to uživatelům…

    Stručně a jasně: Bez jiného přístupu k tvorbě obsahu ze strany běžných uživatelů jsou všechny (byť sebelepší) vlastnosti CSS, podobně užitečné jako americký radar v českých Brdech proti severokorejským raketám ;)

    Každopádně díky za dobrý instruktážní článek :)

  4. Filip Jirsák

    nešťastná formulace

    S příchodem Internet Exploreru 8 budou čítače podporovány všemi majoritními prohlížeči.

    Obávám se, že příchod IE8 nic nezmění na tom, že MSIE6 a WIE7 nadále zůstanou majoritními prohlížeči. Chápu, že tím bylo myšleno, že každá produktová řada z těch nejdůležitějších prohlížečů už bude mít alespoň jednu verzi prohlížeč, který danou věc umí – na to se ale nehraje, uživateli MSIE6 nijak nepomůže, že IE8 už něco umí.

Napsat komentář

Přihlásit se

Tato diskuse je již příliš stará, pravděpodobně již vám nikdo neodpoví. Pokud se chcete na něco zeptat, použijte diskusní server Devel.cz

Zdroj: http://www.zdrojak.cz/?p=2876