Typografická fičůrka
Na svém webu o typografii píšu následující:
„Odsazení prvního řádku odstavce je určitě ta nejopomíjenější věc na webu. Můj názor je takový, že každý tag <p> by měl mít definované odsazení. Pakliže se autor zdráhá označit text za odstavec, nechť ho obalí třebas tagem <div>.“
Na několika místech (např. zde a zde) jsem byl upozorněn na fakt, že tato formulace není přesná. První odstavec za nadpisem se totiž v české hladké sazbě neodsazuje. Toho jsem si vědom a argumentoval jsem technologickými obtížemi docílení podobného efektu na webu. Dnes jsem si nad problém sedl a vyřešil ho ke své spokojenosti pro drtivou většinu prohlížečů.
Uvádím výchozí kód:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250" />
<title>Paragraph test</title>
<style type="text/css">
p { text-indent: 2em; }
</style>
</head>
<body>
<h3>nadpis</h3>
<p>Lorem ipsum dolor sit amet…</p>
<p>Cras porta…</p>
<p>Sed aliquet…</p>
</body>
</html>
Příklad se nachází na této stránce.
Zamyslete se se mnou. Jaké možnosti máte, chcete-li, aby se neodsazoval první odstavec za nadpisem? Já vidím následující.
- Definovat prvnímu odstavci třídu, která odsazení zruší
- První odstavec neuzavírat tagem <p>
- Javascriptové řešení
- Využít CSS selektoru „+“ pro sourozence
První řešení, tedy definovat prvnímu odstavci patřičnou třídu, která by odsazení zrušila, je nekomfortní. Píšete-li texty ručně, znamená to pro vás zbytečnou práci navíc. Využíváte-li služeb nějakého CMS, budete velmi pravděpodobně muset upravovat jeho zdrojové kódy. Toto řešení tedy nebude to pravé ořechové.
Druhé řešení, neuzavírat první odstavec tagem <p>, je sémanticky chybné. Je jen na vás, jestli tuto cenu za výsledný efekt zaplatíte.
Třetí řešení, řešení javascriptem, by bylo jednoduché. Stačí znát DOM a poté dynamicky změnit odsazení, pakliže je prvním sourozencem nadpisu právě odstavec. Toto řešení je schůdné, avšak ne perfektní, mnoho lidí (zejména pokročilejších uživatelů) má javascript vypnutý.
Čtvrté řešení je naprosto ideální. Selektor sourozence v CSS nabízí přesně to, co potřebujeme. Pakliže je prvním sourozencem nadpisu tag <p>, odsazení zrušíme. V tuto chvíli webdesignera zamrzí, že v současnosti nejrozšířenější prohlížeč, Internet Explorer, tento selektor nepodporuje.
Co tedy s tím? Rozhodl jsem se vhodně zkombinovat dva poslední body. Šikovnějším prohlížečům nabídneme řešení pomocí CSS selektoru „+“, Internet Exploreru javascriptové řešení přes proprietální expression. Vycházím z toho, že javascript si v drtivé většině případů vypínají pouze zkušenější uživatelé, ale tito také velmi často využívají služeb alternativních prohlížečů, které selektor sourozence zvládají. Pakliže někdo používá Internet Explorer s vypnutým javascriptem, kýžený efekt neuvidí. Je to však pouze kosmetická změna, proto si mohu dovolit nebýt zcela stoprocentní. Jaký je tedy výsledný kód?
Řešení
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250" />
<title>Paragraph test</title>
<style type="text/css">
p { text-indent: 2em; }
* html p { text-indent: expression( this.previousSibling.tagName.search(/H[1–6]/) == 0 ? "0": ""); }
h1+p, h2+p, h3+p, h4+p, h5+p, h6+p { text-indent: 0; }
</style>
</head>
<body>
<h3>nadpis</h3>
<p>Lorem ipsum dolor sit amet…</p>
<p>Cras porta…</p>
<p>Sed aliquet…</p>
</body>
</html>
Do stylopisu přibyly pouhé dva řádky. První řádek je oštřen hackem (* html) tak, že jej přečte pouze Internet Explorer. Následně pro každý tag <p> kontroluji, jestli jeho nejbližší předchozí sourozenec není náhodou nadpis. Pakliže je, změním mu jeho vlastnost text-indent na nulovou hodnotu, není-li, ponechám výchozí hodnotu. Druhý řádek dělá to samé pomocí CSS a aplikuje se pro všechny prohlížeče, které selektor sourozence zvládají (což jsou téměř všechny kromě IE).
Ošetřený kód si můžete prohlédnout zde.
Napadají vás nějaké problémy, které takové řešení nese? Vylepšili byste ho nějak?

Napadají. Nefunguje to v IE 5.0. :))
A v IE 5.0 se ti taky rozpadá tento web. Vím, že pětkovou řadu už skoro nikdo nepoužívá, ale teď jsem nucen na něm pracovat
Můžu se zeptat, jak toto udělat, pokud mám před nadpisem ještě div?
<h2>Nadpis</h2> <div>Lišta o článku (je to několik divů)</div> <div class="contentbody"> <p>Článek</p>
Zkouším to, ale moc se mi nedaří
Acci: Funguje, jen jsem odkazoval na špatný soubor. Odkaz je opraven a v IE 5.0 mi funguje. A stejně tak se mi v IE5.0 web zobrazuje identicky jako v IE6 či Firefoxu.
Šlaha: V takovém případě IMHO není potřeba to ošetřovat, protože je mezi nadpisem a odstavcem jiný textový element. Máš konkrétní příklad?
Acci, omlouvám se, koukl jsem na to a měl jsi pravdu. Textarea mi rozhodila layout, už je opraveno.
A co použít pseudoprvek first-line?
[3] Dělá to RS Nucleus. Ale mám to zatím jenom na localhostu.
[5] First-line? Sry, ale myslim, že by to ničemu nepomohlo…
A jinak… To neni fičůrka, ale FIČŮRKA… Jinak řečeno ptákovina, IMHO ;) I když jako chápu, že je to prostě tak…
Navíc se mi odsazení na webu vůbec, ale vůbec nelíbí. Nevím, možná je to o zvyku, ale zdá se mi to naprosto ungrafický…
meca. jestli to dobře chápu, Dero chce dosáhnout "neodsazování" prvního odstavce. Tak proč klasicky nenastavit přes CSS celému p odsazení a pak přes first-line prvnímu odstavci zalamování nezrušit? Tak to bude fungovat ve všech prohlížečích stejně…
Jódlující bernardýn > Tak teďkon tě absolutně nechápu. Ale každopádně se tam bude muset dávat opět náký selektor, aby se poznalo, zda-li je ten odstavec první pod nadpisem… A ten selektor opět nebude v IE fungovat… IMHO ;)
Ja osadzujem odstavec každý… Ani som nevedel že po nadpise sa neosadzuje. Ja to budem zrejme naprávať len pomocou tried.
Inak v prvej vete tohoto článku je zrejme zlý odkaz na tvoj web o typografii.
5: To by vážně nikterak nepomohlo. Mluvím o jednotlivých odstavcích, nikoliv řádcích.
6: Ano, ale ten tuším používá řešení č. 2 – neodsazení realizuje vynecháním tagu <p>
7: Neberu Ti Tvůj názor, ale kdyby ses zajímal o typografii, věděl bys, že až taková pitomost to není. Typografie je ale okrajová věda a je to vidět.
[11] Já něřikám, že je to pitomost… Já jen trochu neohrabaně říkám, že se mi zdá poněkud podivné kvůli tomutu dělat takovýto machynace… ALe proti gustu…
12: Ale jaké machinace? Někomu to třeba pomůže. Tohle řešení jsem ještě nikde neviděl, tak jsem si jej dovolil publikovat. Jedná se o pouhé dva řádky kódu, to myslím za výsledný efekt stojí. Kdyby se mělo psát jen o životně důležitých věcech, to by to vypadalo. Právě takovéto drobnosti jsou to, co člověka začne zajímat, když ty "velké" věci jakž takž zvládne.
Já nevím, co je špatného na tom, psát o okrajových tématech, která sice zaujmou jen pár "vyvolených", ale o to více je potěší? Proč nepsát i o zdánlivých zbytečnostech? Ano, web by opravdu dál fungoval s odsazením prvního odstavce po nadpisu, ale proč neříct, že to jde jinak a snadno?
Osobně pro tvorbu čehokoli, kde se dá typografie aplikovat používám svého citu, protože nejsem nijak v této vědě odborně vzdělán. Velmi mě ale tento obor zajímá, protože většinou zaručuje, že výsledek bude lahodit oku, což je pro mě velmi důležité.
Tenhle nápad je velmi zajímavý.
[13] Kliid ;) Já to nemyslim, až takhle… Kdybych mě to třeba napadlo, tak bych to také napsal… Avšak prostě můj názor je, že to stejnak moc lidí využívat nebude… I když kdo ví…
Skvělé, taky už mi několikrát přišlo na mysl, jak tohoto vlastně dosáhnout. Díky.
Já doteď používal tohle:
V Opeře a Gecku to odsadí jen odstavec následující po jiném odstavci. Akorát jsem si říkal, že je škoda že to nejde v MSIE, na expressions jsem si nějak nevzpomněl.
Nejsem si jistý, co na to typografové, ale třeba po výpisech kódu nebo po tabulkách a obrázcích také neodsazuji.
17: A neodsazuješ asi správně, llooku. Ale třeba po citacích či vložených řádkových textech (různé divy) bys zase odsazovat měl. Ono řešení se dá jednoduše rozšířit i o další elementy.
V prvé řadě musím vyjádřit svou úctu velice pěknému designu tohoto blogu. Popravdě je mi potěchou pro oko – správné použití uvozovek, pomlček či výpustek se nevidí často. A teď k věci: můj názor je, že pokud je odstavec graficky oddělen prázdnou řádkou, nemá odsazování od kraje smysl. Buď prázdná řádka, nebo odsazení. Z tohoto pravidla vyplývá i Vámi uváděné pravidlo, že první řádek se neodsazuje – právě proto, že je oddělen prázdnou řádkou po nadpisu. Další řádky už se odsazují, neboť prázdnou řádkou odděleny nejsou.
Přkláním se k názoru Adama Šnobla – buď volný řádek nebo odsazení na prvním řádku a cituji z Typografického manuálu (V. Beran a kol.):
Odstavce bez odsazení je možno použít tam, kde není nutné zvýraznit odstavcovou úpravu. Pokud však u tohoto způsou úpravy přece jenom potřebujeme odstavce potřebujeme zvýraznit, použijeme proložení volným řádkem. Oddělování odstavců volným řadkem je použitelné pouze pro kratší části textu (interviev), ale v žádném případě se nehodí pro dlouhé souvislé texty.
S expressions jsme si taky užili, některé buildy IE hlásily všelijaké nekonkrétní chyby v načítání atp., takže se mu také snažím maximálně vyhnout.
[…] I. (a lépe!) Když jsem publikoval článek o drobné typografické fičůrce, netušil jsem, jaká překvapení mi tato zdánlivě jednoduchá konstrukce připra […]
[19][20] Možná, že se správně u odsazení mezera dělat nemá, ale když to vede k vyšší přehlednosti a text se snáze čte?
Dávám přednost čitelnosti.
<dsafd temperature sensor manufacturerair compressor
rgfdg china wholesale distributor We sell bulk wholesale
dsafdf replica handbags, Wholesale replica handbags
[url= http://www.trademic.com/…fl&bid=.html ][b][size=150]nfl wholesale nfl jersey wholesale[/size][/b][/url]
dfreplica handbagsdff
its all handbags lady bags golf bags
replica watches
cheap replica watches
replica A.Lange & Sohne<BR
3. LV GUCCI CHANEL CHOLE BAPE handbag&wallets. 4. BAPE ROLEX TISSOT OMEGA wrist watches.puma shoes air yeezy shoes jordan six rings 5. CHANEL GUCCI LV D&G PRADA sunglasses, there are many new styles and colors for you
S expressions jsme si taky užili, některé buildy IE hlásily všelijaké nekonkrétní chyby v načítání atp., dunk low pro sb short sleeve polo shirt fashion t shirts takže se mu také snažím maximálně vyhnout.
I've been to China travel, in my opinion chinese people are very freidly, and i especially like the city of beijingshenzhen, i have a friend from china, i ike her blog discount china, now she is in Jewish, just now, she send me a Jewish Directory website, i think the it is very useful. Toto řešení tedy nebude to pravé ořechové.
How to detect whether your watch are magnetize_Watch Knowledge_Sale
Tissot Watch Brand Introduction_Watch Knowledge_Sale
Guide to purchase watches in Hong Kong_Watch Knowledge_Sale
To buy three versions of watches in HongKong_Watch Knowledge_Sale
Jsem filmový fanoušek. Viděl jsem v životě více filmů, než zkušený warezák stihne stáhnout za dva měsíce.Tiffany Bangles Na druhou stranu vám nepovím, kolikrát spolupracovali Steve Buscemi a Tim Burton, ani nemám zcela vyhraněný názor na to,Baltimore Ravenskterý Al Pacinův film je ten nejhorší a také po obvzášť vydařené premiéře kvalitního filmu nesnídám s Františkem Fukou. cheap five fingers shoesJsem tedy průměrný divák s trochou ryzí lásky ke kvalitní kinematografii, anime a hudbě Ennia Morriconeho.ALange Sohne
This is my comment rolex replica
韩国
Tom Penny and Antwian Dixon. Apart from a large fan base compromising skateboarders, supra vaider high tophas also aught the attention of the music industries big names such as Jay-Z, Justin Timberlake and Lil Wayne.supra vaider black high boots, it is the main creative recreation sneakers teal we push in our online shop these days.
Thanks for sharing, interesting reviewes at: Cafe Well Bug Dream World Boolfish
gucci bags sells Designer Handbags and has a pretty good selection. I have not seen the quality of the merchandise myself but I know that they are legit.tjt
Thank you very much.gucci bags sale gucci gucci handbags cheap gucci bags http://www.guccis.net
Thank you very much.gucci bags sale gucci gucci handbags cheap gucci bags http://www.guccis.net
hollister uk ,aybe hehe
[url=http://www.uggboots5815.com]UGG Boots,UGG Boots 5815[/url]
UGG Boots 5163, 02.
UGG Classic Short Boots /***
ghd hair straighteners, ghd styler //
Gucci Handbags,Gucci Bags //////////
UGG Boots,UGG Classic Boots **-/
These well-known UGG Classic Cardy are now becoming more and more fashionable and popular, to some extent. I believe you may ask what the shoes can bring us. As I know, if one person struck by lightning in Holland, his family must put all his Classic Cardy Boots up as soon as possible. And in the fairy tale, the shoes are more magic indeed. Now, I always say that the UGG Classic Cardy Boots are so magic and popular.http://www.uggscardy.com ****--*
The extremely very same applies when commencing a retail organization with Dvd videos. By getting wholesale Dvd disks at bargain prices- you assure your self through the incredibly very best solution income and, as a result, the greater net earnings in return for your solution revenue. To tell you a little more, I started browsing the World-wide-web for just about any dvd wholesale Electronic movie disc list that could give me the costs I was trying to find the two my Dvd movie series and my determination to construct a Electronic video clip disc store group from your future either for the internet or offline.
It's always nice when you can not only be informed, but also engaged! [url=http://www.abercrombiemilano.com] abercrombie and fitch [/url]
I have to admit to a raisedtiffany uk eyebrow with this as welldood sdjiucxn happy
Not even as I shook womens ugg boots and trembled uncontrollably in the trenches, did I forget your ugg boots face. I would sit huddled into the wet mud, terrified, as the ugg australia hails of bullets and mortars crashed down around me. WYQ
Whenever Wristband Braceletyou purchase a kit for yourself or for your business, Rubber Glovesmake sure it includes all the extras that come along the package. Cup HolderDon't forget to avail any discounts and bargains that are readily available.
Online buy Louis Vuitton Outlet at wholesale price from lv handbags online store, 24/7 live service, Free Shipping and accept PayPal.louis vuitton galliera pm
nice post. thank u. by the way, welcome to gucci hobo gucci online, in this shopping website, you can find the most cost-effective gucci handbags.
I ran across search engines and find this blog that fulfill my needs. There is a thing I do not agree ugg cardy boots but It doesn't matter since I think it does not hurt the whole content.ugg boots Watchesdesigning, bailey button ugg bootsbusinesses associated with tattoo Swiss Watchesdesigning,
NICE ARTICLE AND THANKS FOR SHARING