Przeglądarka: Mozilla/5.0 (Windows; U; Win98; pl-PL; rv:1.7) Gecko/20040614 Firefox/0.9 Mnenhy/0.6.0.104
marcoos pisze:Tak jest dlatego, że używasz Transitional (quirks mode). Zmień doctype na strict, wtedy wszystkie browsery będą się zachowywać jak Firefox
Ciekawa teza. Niestety jednak nie moge się z nią zgodzić.
marcoos pisze:[...]albo dołóż -moz-box-sizing: content-box, wtedy Firefox się będzie zachowywać jak IE.
chyba border-box (wiem, ja też się wcześniej pomyliłem 'z rozpędu')
"Transitionalowy" doctype nie przełącza browsery w quirks mode. Każdy
poprawnie zapisany doctype od HTML 4.01 Transitional 'w górę' przełącza (a raczej powinien) przeglądarkę w standard mode (
Fix Your Site With the Right DOCTYPE!).
Zwróc uwagę na to że przykład mibli wyświetli się identycznie w IE6, Gecko i Operze gdy poprawisz doctype na odpowiedni:
- Kod: Zaznacz cały
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
Powracając do istoty pytania mibli - tak, może wydawać się to uciążliwe. Zwłaszcza dla grafików, projektantów, webdesignerów którzy chcieliby szybko i sprawnie panować nad wygladem nie wnikając szczegółowo w analizę kodu. Często po zaprojektowaniu strony trzeba dokonac kilku drobnych poprawek, ot choćby takich jak zwiększenie paddingów w celu poprawienia czytelności strony. Okazuje się wtedy że zgodnie z modelem content-box zmieniają się też rozmiary bloków.
No cóż, nie pozostaje wtedy nic innego jak przeliczać samemu wartosci pamiętając o tym że prawdziwa szerokość/wysokośc elementu wynosi width/height + padding. Choć wciąż nie rozwiązuje to problemów z IE5.x (który trzeba specjalnie hackować).
Oczywiście można tez obrać metodę dla projektanta najwygodniejszą - sprawić by wszystkie przeglądarki wyświetlały stronę zgodnie z modelem border-box. W IE6 by tego dokonać trzeba przełączyć go w quirks mode (np. dodając prolog), Operze dać box-sizing:border-box a Gecko -moz-box-sizing:border-box...
Ale ja miałbym pewne obawy. Choćby dlatego że moga istnieć przegladarki (nie sprawdzałem) które domyślnie wyświetlają w modelu content-box i nie rozumieją [-moz-]box-sizing...