XHTML – další textové elementy

24. února 2003

V dnešním článku se podíváme, jak vytvořit takzvaný subskript a superskript, budeme se zabývat zalamováním řádků, speciálními znakovými entitami a také si představíme zvláštní element pre.

Elementy sub a sup – subskript a superskript

Povolený obsah: %Inline;

Atributy:

%attrs;
Tato parametrická entita obsahuje další parametrické entity:
%coreattrs; (atributy id, class, style a title),
%i18n; (atributy lang, xml:lang a dir) a
%events; (atributy onclick, ondblclick, onmousedown, onmouseup, onmouseover, onmousemove, onmouseout, onkeypress, onkeydown a onkeyup).

Element sub v XHTML 1.0 Strict DTD

Element sup v XHTML 1.0 Strict DTD

Elementy sub a sup se využívají k vytvoření tzv. subskriptu, (takto) respektive superskriptu (takto). Měli byste je ale používat jen tehdy, je-li sub/superskript pro text v nich uzavřený důležitý k přenesení významu (například H2O nebo 22), ne k dekoračním účelům (k tomu slouží styly)!

Element br – zalomení řádku

Povolený obsah: EMPTY (žádný obsah)

Atributy:

coreattrs;
Do této parametrické entity řadíme atributy id, class, style a title.

Element br v XHTML 1.0 Strict DTD

Element br v místě svého výskytu ukončí řádek, takže další text začíná až na následujícím řádku.

Automatické zalamování řádek

Vizuální prohlížeč má k dispozici na šířku pouze omezenou plochu, proto musí logicky u všech delších textů docházet k jejich zalamování. Algoritmus zalamování záleží na prohlížeči, ale žádný doposud neovládá automatické dělení slov. Poslední slovo (zde je chápáno slovo jako sekvence znaků, jež nejsou bílými místy), které se nevejde na řádek, se pak většinou přesune na další.

K rozdělení pak ale může dojít tam, kde k němu podle typografických či jiných pravidel docházet nemá. Naštěstí obsahuje XHTML tzv. nedělitelnou mezeru  , o které jsme se již jednou zmiňovali v části o pravidlech chování interpretů XHTML. Kamkoli tuto entitu vložíte, vykreslí se normální mezera, ale již nemůže dojít k zalomení mezi danými dvěma slovy.

XHTML navíc obsahuje ještě jeden speciální znak, a sice tzv. měkký spojovník, reprezentovaný entitou ­ (soft hyphen). Pokud ho vložíte mezi písmena slova, rozdělí si podle něj interpret XHTML při zalamování slovo na části, se kterými nakládá jako s individuálními slovy. Pokud mu to vyjde tak, že se jedna část slova nachází na konci prvního řádku a druhá část na začátku druhého řádku, umístí za první řádek spojovník. Ano, chápete to správně, jedná se o jakési primitivní dělení slov. Má to ale jeden háček – musíte do každého slova jako roboti vkládat měkké spojovníky mezi slabiky, což není zrovna ideální.

Tento měkký spojovník se za normálních okolností (kdy se celé slovo nachází na jednom řádku) nevykresluje, ani by neměl být brán v úvahu při indexování, vyhledávání apod. Nyní příklad:

<p>
Lorem&nbsp;ipsum <!– Mezi „Lorem“ a „ipsum“ nesmí dojít k zalomení. –> dolor sit amet, consectetuer adipiscing elit. Duis volutpat.<br /> <!– Další text bude pokračovat až na další řádce. –> Duis leo. Donec lao&shy;reet <!– Toto slovo může být rozděleno mezi „lao“ a „reet“, jinak nesmí být spojovník vykreslen. –> iaculis quam. Vivamus ipsum. Vestibulum feugiat, neque pretium aliquet pulvinar.
</p>

Element pre – přesné formátování textu

Povolený obsah: %pre.content;

Atributy:

%attrs;
Tato parametrická entita obsahuje další parametrické entity:
%coreattrs; (atributy id, class, style a title),
%i18n; (atributy lang, xml:lang a dir) a
%events; (atributy onclick, ondblclick, onmousedown, onmouseup, onmouseover, onmousemove, onmouseout, onkeypress, onkeydown a onkeyup).
xml:space       (preserve)       #FIXED 'preserve'
Tento atribut udává, že interpret XHTML nesmí odstraňovat bílá místa uvnitř elementu. Hodnota tohoto atributu nemůže být jiná než implicitní preserve, proto ani nemá smysl ho používat.

Element pre v XHTML 1.0 Strict DTD

Text uvnitř tohoto blokového elementu musí být ponechán a interpretován včetně bílých míst – tedy různých zlomů řádků, mezer apod. Interpret XHTML také může použít písmo s pevnou šířkou znaků (což se dá změnit ve stylech) a nepoužívat zde automatické zalamování řádků, nevizuální interpret může také bílá místa ignorovat a význam tohoto elementu tak potlačit.

Nyní k tomu, co může element pre uzavírat. Jak vidíte, jeho obsah je deklarován na speciální parametrickou entitu %pre.content;. Její deklarace vypadá takto:

(#PCDATA | a | %fontstyle; | %phrase; | %special.pre; | %misc.inline; | %inline.forms;)*

Nebudeme se s ní zatím příliš obšírně zabývat, pouze si řekneme, že se v podstatě jedná o nám již známou entitu %Inline;, pouze bez elementů img a object pro vkládání externích objektů do stránky. Také byste zde neměli používat dnes představené sub, sup a elementy small spolu s big (těmi se ještě budeme zabývat). Je to kvůli tomu, aby byla v tomto elementu zachována jakási pevná mřížka – tu byste neměli narušovat ani pomocí stylů.

Starší komentáře ke článku

Pokud máte zájem o starší komentáře k tomuto článku, naleznete je zde.

Předchozí článek Citace v HTML a XHTML
Další článek tatry.cz
Štítky: Články

Mohlo by vás také zajímat

Nejnovější

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *