2006-09-14 00:23 napsal Lukáš Havrlant
Nedávno jsem zprovoznil nový web o matematice a tudíž jsem ne úplně
nečekaně začal používal i značky, které jsem dřív moc
nepoužíval, konkrétně tedy horní a dolní indexy –
<sup> a <sub>. Ovšem tyto dvě značky
v sobě ukrývají jistou zradu. Schválně si prohlédněte pokusnou stránku. Použil
jsem tam v textu obě dvě značky a text začal okamžitě trpět jistým
neduhem. Řádky, ve kterých jsou indexy použity, se natáhly na výšku a
vytvořily mezi sebou nehezkou škvíru, která kazí dojem z jinak
celistvého textu. Přitom indexy by byly hezky vidět, i kdyby se řádky
takhle blbě neposunuly.
Takže musely přijít na řadu kaskádové styly. Letmým náhledem do specifikace zjistíme, že
poloha indexů se řídí vlastností vertical-align
s hodnotou buď super anebo sub. Tyto vlastnosti
tedy nejprve musíme vyrušit, takže jim hodíme hodnotu baseline,
která je výchozí pro běžný text.
sub, sup {
vertical-align:baseline;
}
A pokračujeme dále. Nyní jsou indexy v jedné rovině s textem. Posunovat obekty bez toho, aniž by tyto objekty ovlivňovaly zbytek stránky mívá na starost pozicování, v tomto případě bude nejlepší řešení relativní pozicování. S absolutním by to šlo opravdu ztuha. Takže upravíme CSS:
sub, sup {
vertical-align:baseline;
position:relative;
}
No a teď už jen stačí posunout sup o pár pixelů
nahoru a sub o stejný počet pixelů dolů. Může být
klidně i různý, podle toho, jak to bude vypadat.
sub, sup {
vertical-align:baseline;
position:relative;
}
sub {
top:0.4em;
}
sup {
bottom:0.4em;
}
Pokud aplikujeme tyto styly, bude stránka s indexy vypadat asi takto. Podle mého názoru tedy daleko přívětivěji. Při vypnutých stylech samozřejmě zůstane funkčnost indexů nezměněná.
[1] A taky anglické datumy a pořadové číslovky (takové to 1st, 22nd atp.).
Pěkné : ) Přidal jsem si to do Stylishe. Myslím, že po vstupu Telefóniky na místní trh se u nás množství SUBů znásobí.… i když teď koukám, že i na cz.o2.com to v textu používají tupě bez indexu. Ostuda!
To je sice také řešení, ale to pozicování se mi dvakrát nelíbí, prostě ho nemám rád :o)
Zkus třeba toto:
p {line-height:120%;} sup {vertical-align:40%;} sub {vertical-align:-40%;}
habendorf
No ale takhle se mi ty řádky posunou také, to jsem to mohl nechat tak jak to bylo…
Timy: já to zkoušel (pravda jen v IE) a ta line-height to udržela, jinak bych to sem nepsal :o)
habendorf
V tom případě musím něco dělat blbě, protože mi to nejde ani v IE :o) příklad (režim na to vliv nemá)
Malis
Protože jsem tam chtěl využít jednu z těch výhod XHTML a použít MathML. A vlastně ještě pořád chci, akorát bych musel sepsat nějakou příkladovou část a do toho se mi nějak nechce… Pravděpodobně o tom brzy taky napíšu :-).
Timy: aha, sorry, já si zvolil zrovna tak vhodný text, že se mi suby a supy vzájemně vykompenzovaly a mezery mezi řádky byly stejné :o). Při ++ písma už to je vidět.
V tom případě je rel. pozice asi nejlepší řešení.
Nepaci sa mi toto riesenie. Namiesto toho, aby text ostal citatelny je index natlaceny na riadok vyssie a straca sa. Omnoho pristupnejsi sa mi javi nestylovany dokument, kde je vyhladanie pouzitia napr. horneho indexu zalezitost rychleho prejdenia textu ocami – kde je riadok odsadeny, tam je index.
Komentáře jsou uzavřeny