OKblog

Box-model podruhé

Úterý, 3. května 2005 21.22 Webdesign

Původně jsem měl v plánu napsat jeątě jeden (a nejspíą nebude poslední) článek o Firefoxu. Ovąem dostal jsem jeden ohlas ohledně článku box-modelu, ľe bych to měl troąičku dovysvětlit. Tak do toho.

Chceme mít box ąiroký 400px. Do CSS tedy napíąeme třeba #box { width: 400px; }. Pokud ovąem přidáme výplň a ohraničení, bude ve vąech prohlíľečích kromě IE ąířka boxu 400 + součet ohraničení a výplně. 400px je tedy v těchto prohlíľečích ąířka obsahu a ne boxu. Nejenľe je to vcelku nelogické, ale vznikají i rozdíly mezi prohlíľeči.

Pokud nechápete, představte si krabici a v ní nějaký menąí předmět. Pokud bude mít za úkol změřit ąířku krabice, pravděpodobně nebudete měřit ąířku předmětu uvnitř.

Ovąem chyba! Podle specifikace byste měli měřit ąířku onoho předmětu. Logika ale tvrdí přesný opak. V minulém článku jsem psal o (speciálních v případě Gecka) vlastnostech CSS.

Nechci kritizovat prohlíľeče, nýbrľ W3C. Asi se nad tím nikdo z nich nezamyslel. Vlastností width nějakého boxu, byste měli nastavit jeho ąířku a ne ąířku jeho obsahu… Přijde mi to celé postavené na hlavu.

předchozí další


Související články

Komentáře (8)

 
čtvrtek, 5. května 2005 13:11:21

Ačkoliv zatvrzelý FireFoxák, souhlasím s tebou. Osobně bych definovanou šířku aplikoval na celý box a obsah zužoval o ohraničení apod. Má to totiž větší logiku. Vina v tomto případě není v prohlížeči, ale na straně W3C.

FireFox se řídí specifikací, takže šířku boxu považuje za šířku obsahu. Logiku to má pouze v případě, že webdesidner zná tuto specifikaci – což znají jen ti, kteří se o CSS zajímají. Ostatní „webdesigneři“, kteří používají IE, toto neřeší, protože podle nich je všechno „OK“. Tak tedy, z tohoto příspěvku by mělo vyplynout, že vina je na straně W3C a Microsoftu.

 
čtvrtek, 5. května 2005 18:00:52

Máš pravdu… Jenomže za spoustu chyb může Netscape 4, což si hodně lidí neuvědomuje. Nebýt chyb interpretace CSS v Netscapu, mohl být CSS vydáno klidně o dva roky dřív a současné chyby by vůbec nemusely existovat… Možná…

 
čtvrtek, 5. května 2005 22:57:53

Jenže za chyby se platí a NN za to zaplatilo skoro životem. Ale IE je tu stále s chybami a ještě dlouho tu s námi zůstane.

 
pátek, 13. května 2005 19:19:37

aaaaa už chci nový článek:´-(

 
středa, 25. května 2005 22:13:39

Ono lze chování box modelu sjednotit ve všech prohlížečích použitím správné DTD.

http://www.wellstyled.com/html-doctype-and-browser-mode.html

Bude se tak i IE chovat podle specifikace, pokud jej přepneme z quirk modu do „standardního“.

 
sobota, 28. května 2005 10:08:55

Steelista: Vím, ale to znamená vyřazení XML prologu (pokud se nepletu).

 
čtvrtek, 2. června 2005 20:07:14

xergic: Opravdu? To jsem netušil. Asi používám příliš zastaralé metody :-)))

 
pondělí, 6. června 2005 17:17:40

steelista: Ano, XML prolog přepne IE do quirku…

K tomuto článku již není možné přidávat komentáře.