Autor Zpráva
modrosýr
Profil *
mohl bych se zeptat nekoho z vas?
proc v tomto prikladu http://www.juanito.webz.cz/test_01.html je nadpis v IE jinde (o nekolik pixlu) umisten nez v FF?
ronan
Profil
Stalo se mi něco podobného, nastavil jsem divu padding 1px a ten nadpis se odzhora odrazil i v IE;)... Ale taky by mě zajímalo, proč to dělá.
Oswald
Profil
Ale taky by mě zajímalo, proč to dělá.

Protože pokud se tomu rodiči (#textname) nenastaví horní/spodní padding nebo border, tak se horní/spodní margin potomka (H1)sloučí s marginem toho rodiče.

Pokud je ale rodič absolutně pozicován, tak by k tomu sloučení nemělo docházet:

#Margins of absolutely positioned boxes do not collapse (not even with their in-flow children).

Takže ve Firefoxu je to dobře a v IE špatně. V Opeře se to zobrazí stejně jako v IE, protože se přepne do quirk módu (HTML 4.01 Transitional bez URL).

BTW: čeština zní opravdu krásně, baví-li se lidé o CSS :-)
modrosýr
Profil *
diky za vysvětlení, oswalde ;)
Chamurappi
Profil
Reaguji na Oswalda, trochu mimo téma:
Odkazuješ na nedokončenou verzi specifikace.
Nyní je to „správně“ tak, že ke sloučení dochází i u relativně pozicovaných boxů. Tebou odkázaná poučka bude „správně“ až za nějakou dobu. A kdo ví, na jak dlouho :-)
V době, kdy Microsoft implementoval pozicování, neexistovala ani jedna ze zmíněných definic.
Oswald
Profil
Chamurappi

Odkazuješ na nedokončenou verzi specifikace.

To sice ano, ale jediné, co se v tomto případě - slučování okrajů u absolutně pozicovaných elementů - od tebou odkazované verze změnilo, je formulace.

"Margins of absolutely and relatively positioned boxes do not collapse."

V době, kdy Microsoft implementoval pozicování, neexistovala ani jedna ze zmíněných definic.

Určitě?

Cascading Style Sheets, level 2CSS2 Specification
W3C Recommendation 12-May-1998
Chamurappi
Profil
Reaguji na Oswalda:
jediné, co se v tomto případě změnilo, je formulace
Ano. Pouze poukazuji, že je úplně jedno, co se píše zrovna teď a zrovna tam.

Určitě?
Určitě. Explorer 4 byl vydán v noci z 30. září na 1. října 1997. Přibližně tři měsíce po Netscapu 4, který již zvládal absolutní pozicování také.
Zmíněná definice se v pracovním návrhu CSS 2 objevila až někdy mezi lednem a březnem následujícího roku, čímž se ze dne na den staly fungující implementace „špatnými“. A my dnes sklízíme ovoce v podobě nekompatibility.
Asi si tento počin W3C připíšu do svého seznamu.
Oswald
Profil
Ano. Pouze poukazuji, že je úplně jedno, co se píše zrovna teď a zrovna tam.

Píšeš:

"Nyní je to „správně“ tak, že ke sloučení dochází i u relativně pozicovaných boxů".

Z té specifikace, na kterou míří odkaz pod slovem "Nyní", pochází ta výše uvedená citace, která říká opak - že se okraje absolutně nebo relativně pozicovaných boxů neslučují. "Spravně" je to tedy nejenom nyní, ale už minimálně od května 1998.

To, že o tomhle nemá IE 4 (stejně tak IE 5, který byl vydán až srpnu 98) ani potuchy, je pochopitelné. IE 6 vyšel ale až v srpnu 2001 a přesto to stále i ve striktní režimu zobrazuje jinak, než říká specifikace z roku 1998. To je prostě špatně.
Chamurappi
Profil
Reaguji na Oswalda:
Ano, samozřejmě, neslučují. Měl bych pozorněji číst nejen to, co čtu, ale i to, co píšu :-)

stejně tak IE 5, který byl vydán až srpnu 98
V březnu 1999.

přesto to stále i ve striktní režimu zobrazuje jinak, než říká specifikace z roku 1998. To je prostě špatně.
To možná. Standardní režim Exploreru je interně označován jako CSS 1 kompatibilní, ke kompatibillitě s doporučením CSS 2 se nehlásí.
Modrosýrova ukázka neužívá standardní režim. V jeho případě to prostě špatně není.
Oswald
Profil
V březnu 1999.

V srpnu 98! :)
http://www.microsoft.com/windows/WinHistoryIE.mspx


Standardní režim Exploreru je interně označován jako CSS 1 kompatibilní, ke kompatibillitě s doporučením CSS 2 se nehlásí. Modrosýrova ukázka neužívá standardní režim. V jeho případě to prostě špatně není.

Přesto, že existují historické souvislosti, které chování IE víceméně vysvětlují a do jisté míry i omlouvají, to nemění nic na faktu, že je v rozporu se specifikací jazyka, v kterém je Modrosýrova ukázka napsána.
Chamurappi
Profil
Reaguji na Oswalda:
V srpnu 98! :)
1) September je září, ne srpen.
2) Microsoft se mýlí.
3) Vyšel přesně 18. března 1999.

Přesto, že existují historické souvislosti, které chování IE víceméně vysvětlují a do jisté míry i omlouvají...
Soudím podle historie, ne podle W3C. Když si poskládám vývoj chronologicky, nemám důvod chovat v úctě konsorcium. Kdyby lépe dohlédlo na soulad své specifikace s implementacemi, modrosýr by dnes neměl problém.
jozob
Profil
Chamurappi
"Microsoft se mýlí."
- silné tvrdenie :-)
Toto téma je uzamčeno. Odpověď nelze zaslat.