![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 405 Pomógł: 1 Dołączył: 19.09.2003 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Aktualnie pracuję nad stroną, która miała być w całości zrealizowana w XHTML. Postanowiłem nie korzystać ze znaczników <table>, tylko oprzeć wszystko o <div>. Nie będę dokładnie opisywał problemu. Sądzę, że linki do screenów wszystko wyjaśnią. Oto one:
Tak miały wyglądać ramki i tak wyglądają w Opera 7.51 Mozilla 1.7 IE 6 Jak zapewne zauważyliście w każdej przeglądarce strona wygląda inaczej. Tak wygląda kod XHTML, który bezbłędnie przechodzisprawdzanie w Validatorze (tekst wyciąłem dla poprawienia czytelności):
Tak natomiast wygląda kod CSS: Kod body { text-align: center; font-family: Verdana, sans-serif; font-size: 11px; } div.main { border-style: solid; border-width: 1px; font-family: Verdana, sans-serif; font-size: 11px; margin-left: auto; margin-right: auto; padding: 5px; text-align: justify; width: 760px; } div.info { border-style: solid; border-width: 1px; font-family: Verdana, sans-serif; font-size: 11px; margin-bottom: 5px; margin-left: 0px; margin-right: 0px; padding: 5px; text-align: justify; } div.links { border-style: solid; border-width: 1px; float: left; font-family: Verdana, sans-serif; font-size: 11px; margin-left: 0px; margin-right: auto; padding: 5px; text-align: center; width: 300px; } div.versions { border-style: solid; border-width: 1px; float: right; font-family: Verdana, sans-serif; font-size: 11px; margin-left: auto; margin-right: 0px; padding: 5px; text-align: justify; width: 431px; } Kombinowałem z tym bardzo długo ale nie mogę nic wymyślić. W jaki sposób zmienić te pliki, aby we wszystkich przeglądarkach strona wyglądała tak jak w Operze? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 242 Pomógł: 0 Dołączył: 14.03.2003 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
niestety, to nie opera właściwie zinterpretowała style - to... ie.
1. opera wyświetliła ci ramkę na 772 zamiast na 760 2. mozilla kompletnie wszystko popaprała może powoduje to justowanie? nie wiem... |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 405 Pomógł: 1 Dołączył: 19.09.2003 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Rzeczywiście, masz rację. Nie zauważyłem tego wcześniej. Co ciekawsze prosta arytmetyka i kilka pomiarów doprowadziły mnie do takich wniosków:
772 = 760 + 5 + 5 + 1 +1 Mówiąc po ludzku to jest dokładnie tyle ile wynoszą razem zadana szerokość diva, 2*wartość padding i 2*szerokość obramowania. Sprawdziłem i dla innych ramek takie sumy również się zgadzają. Ciekawe jest również to, że Mozilla te wilekości interpretuje tak samo jak Opera - tam też szerokość największej ramki wynosi 772 piksele. Wie ktoś może dlaczego tak się dzieje? Justowanie odpada. Po zmianie wszystkich text-align na left jest nadal to samo. Ten post edytował Jojo 26.09.2004, 15:29:50 |
|
|
![]() ![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 562 Pomógł: 15 Dołączył: 8.08.2003 Skąd: Denmark/Odense Ostrzeżenie: (0%) ![]() ![]() |
napewno pomoze ci wstawienie takiego durnego br'a, z atrybutem clear="all" pod koniec struktury:
a co do dokladnych pixelowych layoutow, proponuje lektore "Box Model Hack", Tanteka Celicka - http://www.tantek.com/CSS/Examples/boxmodelhack.html W skrocie: IE zle interpretuje box model i umieszcza ramki i padding w srodku box'a zamiast tak jak powinno byc, czyli na zewnatrz. edit: dodam jeszcze ze nieprzebytym zrodlem informacji na temat layoutow jest strona Box Lessons Owena Briggsa, a zwlaszcza jego Little Boxes. polecam kazdem zainteresowanemu designem ponadprzegladarkowym (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Ten post edytował bregovic 26.09.2004, 15:43:29 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 853 Pomógł: 25 Dołączył: 27.08.2003 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Cytat(mpps @ 2004-09-26 14:59:16) opera wyświetliła ci ramkę na 772 zamiast na 760 opera wyswietla poprawnie. wedlug standardu CSS bowiem szerokosc wskazuje na sama wewnetarzna czesc BEZ paddingu i obramowania. w IE 5.x liczy sie to wszystko razem na szerokosc, ale to tylko jeden z wielu bugow tej przegladarki. wspomniana wyzej sztuczka tantecka powinna pozwolic ci poradzic sobie z tym problemem. |
|
|
![]()
Post
#6
|
|
Grupa: Przyjaciele php.pl Postów: 701 Pomógł: 0 Dołączył: 26.06.2002 Skąd: Londyn Ostrzeżenie: (0%) ![]() ![]() |
tak bedzie lepiej
Kod clear="all" => style="clear: both"
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 14:36 |