MozillaPL.org - polskie centrum Mozilli

Główne menu:

float:left - rozmieszczenie bloków - BUG??

Dyskusje na temat standardów WWW i zgłoszenia stron niedziałających poprawnie w przeglądarkach z rodziny Mozilli (w tym Mozilla Firefox)

Moderator: Pomocy?!

float:left - rozmieszczenie bloków - BUG??

Postautor: ziem » 09 listopada 2005, 12:03

Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.12) Gecko/20050915 Firefox/1.0.7

Witam,

Dlaczego w firefoxie ostatni blok, zamiast płynąć na drugi, jest lokowany w środku pozostałego obszaru? IE 6.0 i Opera 8.5 wyświetlają poprawnie. Jak na gruncie zgodności ze standardami wyjaśnić takie zachowanie tej superprzeglądarki?
Kod: Zaznacz cały
body {
   margin:0;
   padding:0;
   width:100%;
   height:100%;
   }
   div
   {
      margin:0px;
      padding:0px;
   }
   div.bloki
   {
      border:1px solid #000000;
      margin:0px;
      padding:0px;
      width:33.1%;
      height:99.6%;      
   }
   #b1
   {
      float:left;
      background-color:#aaffcc;
      
   }
   #b2
   {
      float:left;
      background-color:#aaeeee;
   }
   #b3
   {

      float:left;   
      background-color:#aaccff;
   }



Kod: Zaznacz cały
<div id="cont" style="display:block;height:100px;width:100%;padding:10px 0 10px 0;background-color:#ff0000;" >
   <div class="bloki" id="b1">Although there are many problems that neural networks are not suited towards there are also many problems that a neural network is quite adept at solving.</div>
   <div class="bloki" id="b2">Although there are many problems that neural networks are not suited towards there are also many problems that a neural network is quite adept at solving.</div>
   <div class="bloki" id="b3">Although there are many problems that neural networks are not suited towards there are also many problems that a neural network is quite adept at solving.</div>

</div>
ziem
 
Posty: 57
Z nami od: 11 października 2003, 17:42
Lokalizacja: Skądinąd

Postautor: radek.kaba » 09 listopada 2005, 12:38

Przeglądarka: Mozilla/5.0 (Windows; U; Win98; pl; rv:1.8) Gecko/20051107 Firefox/1.5

WFM
Mozilla/5.0 (Windows; U; Win98; pl; rv:1.8) Gecko/20051107 Firefox/1.5 - Build ID: 2005110712
radek.kaba
 
Posty: 260
Z nami od: 21 września 2005, 14:51

Postautor: ziem » 09 listopada 2005, 15:43

Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.12) Gecko/20050915 Firefox/1.0.7

radek.kaba pisze:WFM
Mozilla/5.0 (Windows; U; Win98; pl; rv:1.8) Gecko/20051107 Firefox/1.5 - Build ID: 2005110712

co to ma znaczyć?
ziem
 
Posty: 57
Z nami od: 11 października 2003, 17:42
Lokalizacja: Skądinąd

Postautor: Stef » 09 listopada 2005, 15:53

Przeglądarka: Mozilla/5.0 (X11; U; GNU/Linux i686; pl; rv:1.8) Gecko/20051025 Firefox/1.5

To samo pewnie co SOA #1
Czasami coś napiszę na stef.log
Stef
Moderator
 
Posty: 3466
Z nami od: 16 kwietnia 2004, 11:05

Postautor: Zajec » 09 listopada 2005, 15:54

Przeglądarka: Opera/8.10 (X11; Linux i686; U; pl)

Masz gdzieś tą przykładową stronę na necie?
Zajec
 
Posty: 167
Z nami od: 17 grudnia 2004, 22:32
Lokalizacja: Włocławek

Postautor: ziem » 09 listopada 2005, 22:54

Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.12) Gecko/20050915 Firefox/1.0.7

radek.kaba pisze:WFM
Mozilla/5.0 (Windows; U; Win98; pl; rv:1.8) Gecko/20051107 Firefox/1.5 - Build ID: 2005110712

używam firefoxa 1.0.7, więc może nowa wersja ma BUGa?

Ktoś jeszcze ma 1.0.7?
ziem
 
Posty: 57
Z nami od: 11 października 2003, 17:42
Lokalizacja: Skądinąd

Postautor: Stef » 09 listopada 2005, 22:59

Przeglądarka: Mozilla/5.0 (X11; U; GNU/Linux i686; pl; rv:1.8) Gecko/20051025 Firefox/1.5

Mylisz pojęcia, używasz ostatniej stabilnej wersji Firefoksa - 1.0.7, radek używa 1.5.0 rc1, czyli czegoś podobnego do tego co w niedalekiej przyszłości zastąpi Twoją wersję.

Ale pytanie słuszne - czy ktoś mógłby to sprawdzić na 1.0.7? A odpowiedź jest taka że pewnie mógłby gdybyś wskazał gdzie ta strona wisi.
Czasami coś napiszę na stef.log
Stef
Moderator
 
Posty: 3466
Z nami od: 16 kwietnia 2004, 11:05

Postautor: ziem » 10 listopada 2005, 00:02

Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.12) Gecko/20050915 Firefox/1.0.7

Stef pisze:Mylisz pojęcia, używasz ostatniej stabilnej wersji Firefoksa - 1.0.7, radek używa 1.5.0 rc1, czyli czegoś podobnego do tego co w niedalekiej przyszłości zastąpi Twoją wersję.

Ale pytanie słuszne - czy ktoś mógłby to sprawdzić na 1.0.7? A odpowiedź jest taka że pewnie mógłby gdybyś wskazał gdzie ta strona wisi.

nie popatrzyłem na datę build-a, w sumie po co używać non-release? pewnie, żeby częściej oglądać zwisy Firefoxa, stąd mój wniosek, że to coś starszego niż moje
nie mam gdzie powiesić, ^c, ^v ^b, to chyba nie problem dla programisty, na wcześniejszych wersjach FF nie było problemu z tymi blokami
ziem
 
Posty: 57
Z nami od: 11 października 2003, 17:42
Lokalizacja: Skądinąd

Postautor: radek.kaba » 10 listopada 2005, 00:25

Przeglądarka: Mozilla/5.0 (Windows; U; Win98; pl; rv:1.8) Gecko/20051107 Firefox/1.5

Akurat miałem chwilkę rano (czyli w południe ;) ) i wkleiłem twój kod do szablonu strony z deklaracją XHTML1.0strict - zobaczyłem trzy ładne, równe bloki na swoich miejscach.
Potem zrobiłem to samo HTML4 w quircks modzie i efekt ten sam, więc dla mnie to działa (WFM) w RC2 - bo ten build prawdopodobnie zostanie wydany jako Frefox 1.5 RC2.

Pod 1.0.x nie sprawdzałem i raczej nie będe sprawdzał, bo mam dosyć własnej roboty... ;P

<ot class="formalny" id="nie_do_konca">
... w sumie po co używać non-release? pewnie, żeby częściej oglądać zwisy Firefoxa...


Jeżeli chodzi o "zwisy", to doświadczyłem ich tylko na nightly pomiędzy DPa2 i beta1 oraz zaledwie kilku pomiędzy beta1 a beta2.
A "po co używać non-release?" - po to żeby testować Moją Domyślną Przeglądarkę i mieć jakiś wkład w to, żeby pełne wydanie było lepsze... :)
</ot>
radek.kaba
 
Posty: 260
Z nami od: 21 września 2005, 14:51

Błąd dotyczy najprawdopodobniej wszystkich wersji Firefoxa.

Postautor: ziem » 10 listopada 2005, 13:51

Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.12) Gecko/20050915 Firefox/1.0.7

UWAGA !!
Błąd dotyczy najprawdopodobniej wszystkich wersji Firefoxa. Jak to sprawdzić- należy przeglądać dokument (ja bawiłem się walidowanym XHTML 1.0 strict) przy RÓŻNYCH szerokościach okna przeglądarki - bardzo dobrze widać wtedy, że obsługa float pod firefox kuleje - efekty obserwowane na moich przeglądarkach FF (1.0.4 i 1.0.7):
przy pewnych dzerokościach okna wyświetla się prawidłowo, przy pewnych - obramowanie prawe drugiego bloku i lewe 3-go się nakładają (czyli widać 1px obramowanie między blokami) , przy pewnych szerokościach okna - występuje zjawisko, o którym mówię - czyli między obramowaniami bloków 2 i 3 pojawia się odstęp.
Oto mój wkład w debugowanie wersji release mojej niestety domyślnej przeglądarki w wersji release.
ziem
 
Posty: 57
Z nami od: 11 października 2003, 17:42
Lokalizacja: Skądinąd

Postautor: radek.kaba » 10 listopada 2005, 14:16

Przeglądarka: Mozilla/5.0 (Windows; U; Win98; pl; rv:1.8) Gecko/20051107 Firefox/1.5

Aaaa, o to chodzi :D

Tylko, że ten efekt wynika z błędnego ostylowania a nie z błędu przeglądarki.
Kod: Zaznacz cały
   div.bloki
   {
      border:1px solid #000000;
      margin:0px;
      padding:0px;
      width:33.1%;
      height:99.6%;     
   }


Występuje tutaj "klasyczne" mieszanie jednostek: grubość ramki jest w pikselkach, a szerokość bloku w procentach.

"Dodajmy ułamki" ;)
3x33,1% + 6x1px = 99,3% + 6px

Dopóki 6px =< 0,7% szerokości, to wszystko jest OK.
Ale po zmniejszeniu szerokości okienka może się zdążyć, że łączna szerokość tych trzech bloków przekroczy szerokość okienka i i jeden blok "spada" na dół...

Oczywiście w Mozilla/5.0 (Windows; U; Win98; pl; rv:1.8) Gecko/20051107 Firefox/1.5 - Build ID: 2005110712
radek.kaba
 
Posty: 260
Z nami od: 21 września 2005, 14:51

Postautor: Tomek » 10 listopada 2005, 14:24

Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.8) Gecko/20051025 Firefox/1.5

@ziem a po co się powtarzasz tutaj? - zamykam tamten i daję odsyłacz tutaj :)
2. poza tym - troszkę zmieniłem twój kod:
www.tomasiek.cp.win.pl/temp/float/ - i już - pamiętaj że sam walidator nie wystaczy - potrzebna jeszcze logika
"Mym sojusznikiem jest Moc, i potężnym sojusznikiem ona jest." -- Mistrz Yoda
Tomek
Moderator
 
Posty: 9041
Z nami od: 19 sierpnia 2004, 06:52

Postautor: ziem » 10 listopada 2005, 14:33

Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.12) Gecko/20050915 Firefox/1.0.7

radek.kaba pisze:Aaaa, o to chodzi :D

Tylko, że ten efekt wynika z błędnego ostylowania a nie z błędu przeglądarki.
Kod: Zaznacz cały
   div.bloki
   {
      border:1px solid #000000;
      margin:0px;
      padding:0px;
      width:33.1%;
      height:99.6%;     
   }


Występuje tutaj "klasyczne" mieszanie jednostek: grubość ramki jest w pikselkach, a szerokość bloku w procentach.

"Dodajmy ułamki" ;)
3x33,1% + 6x1px = 99,3% + 6px

Dopóki 6px =< 0,7% szerokości, to wszystko jest OK.
Ale po zmniejszeniu szerokości okienka może się zdążyć, że łączna szerokość tych trzech bloków przekroczy szerokość okienka i i jeden blok "spada" na dół...

Oczywiście w Mozilla/5.0 (Windows; U; Win98; pl; rv:1.8) Gecko/20051107 Firefox/1.5 - Build ID: 2005110712


Oczywiście, że nie o to chodzi, nie o spadanie bloku, tylko odstępy i obramowanie, przeczytaj dokładnie co piszę przed replyem. To, że spada, nie uważam za błąd. Z resztą -przy sensownych szerokościach okna (czyli ponad 800) trzeci blok nie spadnie w dół.
Ostatnio zmieniony 10 listopada 2005, 14:39 przez ziem, łącznie zmieniany 1 raz
ziem
 
Posty: 57
Z nami od: 11 października 2003, 17:42
Lokalizacja: Skądinąd

Postautor: ziem » 10 listopada 2005, 14:38

Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.12) Gecko/20050915 Firefox/1.0.7

tomasiek pisze:@ziem a po co się powtarzasz tutaj? - zamykam tamten i daję odsyłacz tutaj :)
2. poza tym - troszkę zmieniłem twój kod:
www.tomasiek.cp.win.pl/temp/float/ - i już - pamiętaj że sam walidator nie wystaczy - potrzebna jeszcze logika


o jakiej logice mówisz? to co robisz jest całkiem czymś innym, niż to co ja zrobiłem, choćby ze względu na padding dla bloku zawierającego - użycie lewego i prawego paddingu zmienia działanie przeglądarki przy rozmieszczaniu tych trzech bloków, nie wpadłeś na to?Dodajesz margines dla każdego bloku. Zmieniasz szerokość bloków. Poza tym używasz pozycjonowania absolutnego, czego ja np na swojej stronie nie mogę i nie chcę użyć. Zatem Twoja odpowiedź jest na pytanie - jak zrobić , żeby działało, ale coś trochę innego, ja natomiast zwracam uwagę na fakt, że nie działa w ten sposób, choć powinno i proszę o wyjaśnienie na gruncie standardów, jakim prawem Firefox zachowuje się w ten sposób. Dwie całkiem różne sprawy.


Z resztą - popatrz, jak się zmieniają odstępy między blokami w Twoim kodzie, kiedy zmieniasz rozmiar okna, zanim zakwestionujesz czyjeś zdolności intelektualne.

DysLOGIK

P.S.
Może nieco mniej dumy i pychy by się przydało? Nie wszystcy ludzie, których spotykasz to idioci.
Ostatnio zmieniony 10 listopada 2005, 14:56 przez ziem, łącznie zmieniany 1 raz
ziem
 
Posty: 57
Z nami od: 11 października 2003, 17:42
Lokalizacja: Skądinąd

Postautor: Tomek » 10 listopada 2005, 14:52

Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.8) Gecko/20051025 Firefox/1.5

Nie chodziło mi o brak logiki (w razie czego przepraszam) tylko o to że sama walidacja nie wystarczy tylko że kod musi być jeszcze logicznie zaprojektowany - to co dałeś na forum... troszkę się gryzło razem (IMO). co do paddingu - dałem go specjalnie żeby było lepiej widoczne :) i żeby ściągnąć sztywne narzucenie wysokości... (jak napisałem - przerobiłem troszkę twój kod... prawie całkowicie...)
ale poddaje się - naprawdę nie wiem o co ci chodzi...

//w między czasie jak pisałem ten post pojawił się ten o to dopisek:
P.S.
Może nieco mniej dumy i pychy by się przydało? Nie wszystcy ludzie, których spotykasz to idioci.

Cóż... miłe ale to już chyba podchodzi pod flame... Nigdzie nie nazwałem nikogo idiotą a co dumy i pychy tez nie wiem o co chodzi...
"Mym sojusznikiem jest Moc, i potężnym sojusznikiem ona jest." -- Mistrz Yoda
Tomek
Moderator
 
Posty: 9041
Z nami od: 19 sierpnia 2004, 06:52

Postautor: ziem » 10 listopada 2005, 15:02

Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.12) Gecko/20050915 Firefox/1.0.7

tomasiek pisze:ale poddaje się - naprawdę nie wiem o co ci chodzi...

Z resztą - popatrz, jak się zmieniają odstępy między blokami w Twoim kodzie podczas zmieniania szerokości okna przeglądarki. Chyba nie powinny w ten sposób i nie tego oczekiwałeś , prawda? Opera przetwarza to gładko, to samo IE (którego nie uważam za miarodajny niestety).
Ostatnio zmieniony 10 listopada 2005, 15:36 przez ziem, łącznie zmieniany 1 raz
ziem
 
Posty: 57
Z nami od: 11 października 2003, 17:42
Lokalizacja: Skądinąd

Postautor: Tomek » 10 listopada 2005, 15:06

Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.8) Gecko/20051025 Firefox/1.5

Siedzę na bieżąco nad tym kodem więc cięzko bedzi mi go przekształcić...
Po pierwsze - zakopujemy idiotów/dumę/pychę i wracamy do merytorycznej pracy.
1. zauważyłem że przy dodaniu jakiegokolwiek obramowania sypie się wszystko. i wtedy faktycznie jest tak jak mówisz...
odstępy przy blokach?? ciut jasniej? (może na szybkie konsultacje przjedziemy na gg? 2001453 - jeszcze kwadrans będę)
"Mym sojusznikiem jest Moc, i potężnym sojusznikiem ona jest." -- Mistrz Yoda
Tomek
Moderator
 
Posty: 9041
Z nami od: 19 sierpnia 2004, 06:52

Postautor: radek.kaba » 10 listopada 2005, 15:08

Przeglądarka: Mozilla/5.0 (Windows; U; Win98; pl; rv:1.8) Gecko/20051107 Firefox/1.5

Niestety opisanego przez Ciebe efektu z obramowaniem nie widzę (kod z pierwszego postu), więc mogę tylko podtrzymać WFM...

Z mojej strony EOT - wyłączam śledzenie.
radek.kaba
 
Posty: 260
Z nami od: 21 września 2005, 14:51

Postautor: ziem » 10 listopada 2005, 15:35

Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.12) Gecko/20050915 Firefox/1.0.7

radek.kaba pisze:Niestety opisanego przez Ciebe efektu z obramowaniem nie widzę (kod z pierwszego postu), więc mogę tylko podtrzymać WFM...

Z mojej strony EOT - wyłączam śledzenie.

błąd występuje pod FF 1.0.7 i starszymi. Używasz Gecko 1.8, ff 1.0.7 powstał z gecko 1.7 a 1.5 z 1.8 - więc sa poprawki w renderowaniu. Dla mnie to już jest jasne, że BUG w FF JEST. Wersje ff 1.5rc1 używają tego samego silnika, co Twój, a tam błędu nie ma. I tyle.
ziem
 
Posty: 57
Z nami od: 11 października 2003, 17:42
Lokalizacja: Skądinąd

Postautor: Gość » 10 listopada 2005, 16:22

Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl-PL; rv:1.7.12) Gecko/20050919 Firefox/1.0.7

W sumie NIE MA żadnego błędu. Wszystkie trzy przeglądarki pokazują podobnie a najgorzej IE :). Ten to już w ogóle :D! Nasuwa się pytanie. W jakim typie dokumentu to sprawdzasz? Sądzę, że sprawdzasz w takim, że IE przechodzi w Quirks Mode :). Proponuję Strict. Odstęp przy bloku drugim a trzecim powstaje w FF i to może być bug, ale zupełnie tak samo zachowuje się Opera z tym, że odstęp powstaje między prawą krawędzią okna a ostatnim blokiem w miarę zmian rozmiaru okna w różnych jego miejscach. Poza tym miej na uwadze, że 33,1% szerokości i border na 1px to jest 33,8%+2*1px szerokości. 1px jest stałą wartością jeśli chodzi o piksele, ale zmienną jeśli chodzi o procentowy stosunek do wymiarów okna. Natomiast x% ma zmienną wartość co do pikseli, ale stałą co do procentowej szerokości okna. W pewnym momencie szerokość DIVów przekracza 33,3% szerokości okna, więc nie ma siły żeby ostatni DIV nie "wyskoczył" z szeregu. Policz ile to wynosi pikseli wartość 33,1%. Jak łatwo zauważyć wychodzą ułamkowe części piksela i jak wiadomo piksel to najmniejsza część ekranu, nie można podzielić piksela na mniejsze kawałki. Jakość wyświetlania strony w przeglądarce zależy właśnie od tego, jak wynik przeliczeń procentów na piksele jest zaokrąglany i jaki algorytm tych obliczeń zastosowali twórcy danej przeglądarki (w górę dół, czy przy setnych, czy już przy tysięcznych częściach a może jeszcze dokładniej?).

Myślę, że szukasz dziury w całym :). Jedno jest pewne, że Opera i FF wyświetlają jak najbardziej prawidłowo. Gorzej jest z MSIE.
Gość
 

Następna

Wróć do Standardy WWW i źle działające strony

Kto jest online

Zarejestrowani użytkownicy: Baidu [Spider], dexter, Google [Bot]

cron
Przejdź do powiązanej strony

Nawigacja:

Stopka: