Zagadka: Co wyczynia Firefox?
Monday, June 5, 2006 7:28:40 AM
MSIE 6/7, Opera 8/9, Konqueror 3.5, Safari 2 nie odnotowują podobnych problemów.
Monday, June 5, 2006 7:28:40 AM
Opera 9.0 build 8455Consolas do pobrania![]()
28 stycznia 2012 roku odbyła się uroczysta zabawa studniówkowa uczniów IV klasy Technikum Leśnego w Zagnańsku…
Wszystkich uczniów oraz rodziców, którzy chcieliby obejrzeć Technikum Leśne w Zagnańsku i zapoznać się z propozycjami naszej Szkoły, zapraszamy na Dni otwartej szkoły…
Od 1.01.2012 r. 18 uczniów naszej szkoły bierze udział w Projekcie „MiŚ czyli My i Środowisko” prowadzonym przez Stowarzyszenie na Rzecz Wychowania, Edukacji i Rozwoju „Knieja”…
I Mistrzostwa Szkół Leśnych w Biathlonie Zimowym odwołane…
Informujemy, że w dniu 6 lutego 2012 roku zajęcia dydaktyczne w ZSL w Zagnańsku zostały odwołane z powodu niskiej temperatury. Internat jest czynny.
Paweł Szubertpbm # Monday, June 5, 2006 8:48:38 AM
Firefox 1.5.0.3
Robert Błautquiris # Monday, June 5, 2006 9:41:00 AM
Marek Stępieńmarcoos # Monday, June 5, 2006 10:01:20 AM
Nie mam natomiast czasu dochodzić, co skaszaniliście w samym menu. ;-)
Robert Błautquiris # Monday, June 5, 2006 10:13:31 AM
Maciej Chojnacki # Monday, June 5, 2006 10:51:37 AM
Robert Błautquiris # Monday, June 5, 2006 10:56:03 AM
Adrian KallaAdrianer # Monday, June 5, 2006 12:10:45 PM
Adrian KallaAdrianer # Monday, June 5, 2006 12:12:22 PM
Teraz pytanie jaka przeglądarka zachowuje się tu poprawnie w stosunku do kodu strony...
Robert Błautquiris # Monday, June 5, 2006 12:24:46 PM
Andrzej Kaczmarekandk # Monday, June 5, 2006 1:21:10 PM
list-style-position: inside; powoduje wygenerowanie wewnątrz elementu listy elementu inline dla markera.
http://www.w3.org/TR/CSS2/generate.html#propdef-list-style-position
Jeżeli teraz A będzie display: block; to ten element inline (marker) zostanie zamknięty w element blokowy zgodnie z http://www.w3.org/TR/CSS2/visuren.html#anonymous-block-level
Czyli Fx wyświetla to poprawnie. Przy czym jest to moja - niekoniecznie poprawna - interpretacja tego
zbraniecki # Monday, June 5, 2006 1:30:23 PM
"Nie dopuszczasz takiej możliwości? "
Dziwne pytanie z ust kogos, kto przed chwila napisal caly post nie dopuszczajac mozliwosci, ze to nie jest wina Fx-a. "Co wyczynia Firefox?" - to jest neutralne zdanie swiadczace o tym, ze dopuszczasz mozliwosc, ze zle dziala tu Opera? Heh... To jak tam z ta drzazga w oku?
Pierwsze przypuszczenia (jak ja uwielbiam WebDeveloper extension - czas jaki zajelo znalezienie tego, ponizej minuty):
ul#menu li {list-style-position:inside;}
ul#menu a, ul#navmenu a { display: block; }
Nie pokusze sie jeszcze o wniosek czyja to wina, ale ustawienie tych dwoch wartosci powoduje, ze blokowy anchor przeskakuje do nowego wiersza jesli element listy jest wewnatrz jej pol.
"MSIE 6/7, Opera 8/9, Konqueror 3.5, Safari 2 nie odnotowują podobnych problemów. "
Na bugzilli mamy mnostwo bledow tego typu w ktorych na koncu okazywalo sie, ze to wyzej wymienione zgodnie popelniaja ten sam blad. Chocby dlatego, ze zarowno panowie z Opery jak i z KHTML-a podczas swoich prac (i mozesz to sprawdzic w bugzilli KDE) wybierali zachowanie zgodne z IE, a nie ze specyfikacja...
Robert Błautquiris # Monday, June 5, 2006 1:38:53 PM
No ciepło, ciepło. Jesteś o krok od rozwiązania zagadki. Przyczynę znalazłeś bezbłędnie
No szkoda, że nie pokusisz się. Mógłbyś zdobyć laur zwycięzcy
Na tej samej bugzilli jest więcej błędów, które wskazują na odwrotne zachowanie. Wbrew pozorom, czy też przeróżnym sugestiom, jakie miałem nieprzyjemność ostatnio słyszeć developerzy Gecko nie mają monopolu na prawdę. I dobrze.
Robert Błautquiris # Monday, June 5, 2006 1:44:28 PM
Marcin W. Dąbrowskimwd # Monday, June 5, 2006 3:05:44 PM
- (li][/li] jest "display: block"
- [a][/a] jest "display: block"
Wobec tego [{marker}] będzie zawinięty w anonimowy element z "display: block".
In other words: if a block box has another block box inside it, then we force it to have only block boxes inside it, by wrapping any inline boxes in an anonymous block box.
Czyli końcowy układ powinien być:
(li]
[anonymous style="display: block;"][{marker}/][/anonymous]
(a][/a]
(/li]
Czy jednak inaczej?...
Robert Błautquiris # Monday, June 5, 2006 3:27:28 PM
[ http://www.w3.org/TR/CSS2/generate.html#q11 ]
zbraniecki # Tuesday, June 6, 2006 11:12:19 AM
Jak bedzie mi sie nudzilo, powalcze o laury, na razie slepo zalozylem, ze pytasz, bo odpowiedzi nie znasz, zas nie przewidzialem, ze mozesz pytac aby zrobic show...
Ciesze sie, ze znalazles blok w dokumentacji, szkoda, ze nie dodales go do znalezionego bledu, ktory nadal oznaczony jest jako "niekoniecznie blad".
> Na tej samej bugzilli jest więcej błędów, które wskazują na odwrotne zachowanie.
To naprawde zaskakujace... Na Bugzilli Mozilli sa bledy jej dotyczace? Szok, warto o tym napisac kolejny post.
> Wbrew pozorom, czy też przeróżnym sugestiom, jakie miałem nieprzyjemność ostatnio słyszeć developerzy Gecko nie mają monopolu na prawdę.
Przeroznym sugestiom, ktorych oczywiscie nie wymienisz, oraz pozorom, ktorych nie podasz. Wszak wystarczy takie zdanie jakie napisales - brzmi dobrze, zarzutow udowadniac nie musisz.
Co do mnie zas - zalozylem, ze skoro pytasz o rozwiazanie, to go nie znasz. Skoro zas go nie znasz, to stawianie zarzutow jest co najmniej niewlasciwe. Patrzac jednak na Twoja reakcje wnioskuje, ze odpowiedz znales/znalazles, ale dla samej radosci publicznej dyskusji ciagniesz to dalej. Gratuluje.
Robert Błautquiris # Tuesday, June 6, 2006 11:34:19 AM
W sumie dobrze, że pojawił się ten post. Jest idealną odpowiedzią do stwierdzenie jakie padło w jednym z komentarzy:
Jak to się mówi? Przyganiał kocioł...? I jeszcze raz powtórzę: punkt widzenia zależy od punktu siedzenia.
Marcin W. Dąbrowskimwd # Tuesday, June 6, 2006 11:58:09 AM
Czyli w ukłdzie (li)(marker)(/marker) content (/li) marker nie ma wpyłwu na pozycjonowanie (li), a na content raczej na pewno nie.
Ale gdy mamy element blokowy jako treść tego (li), to:
- pozycjonowanie (li) się nie zmieni - li jest jako principal box,
- ale sam (marker) zgodnie z poprzednio wspomnianą regułą będzie jako "dislay: block" (...wrapping any inline boxes in an anonymous block box...),
- czyli chyba jednak gecko to renderuje poprawnie...
Oczywiście nadal mogę się mylić. :) Czytanie specyfikacji to jednak ciężka robota.
Radek Kabacińskiradek_kaba # Tuesday, June 6, 2006 12:14:39 PM
Robert Błautquiris # Tuesday, June 6, 2006 12:19:48 PM
Ale w innym fragmencie specyfikacji znowu mamy:
Czyli zawartość elementu powinna opływać markera, a tego nie czyni. Mowa jest również bloku liniowym. [ http://www.w3.org/TR/CSS2/generate.html#propdef-list-style-position ]
Robert Błautquiris # Tuesday, June 6, 2006 12:24:03 PM
A tu znowu mamy, że specyfikacja nie określa precyzyjnie położenia markera
Marcin W. Dąbrowskimwd # Tuesday, June 6, 2006 2:52:27 PM
No i marker jest inline, ale skoro li jest block, i a jest block, to marker jest owijany w anonymous block. (Rrrany, ale język! :D)
Czyli drzewko jest:
1. li:block
1.1. anonymous:block
1.1.1. marker:inline
1.2. a:block
PS: Chyba zakończymy tak:
Cóż... Nie ma to jak dokładna specyfikacja. :D
zbraniecki # Tuesday, June 6, 2006 4:30:53 PM
Uhh... Zatem jesli Ty z ironicznym usmieszkiem bawisz sie tym, ze ludzie poswiecaja Ci swoj czas, aby zlokalizowac zrodlo problemu, to jest ok. Kiedy stawiasz zarzuty zanim poznasz odpowiedz tez, ale kiedy ktos sugeruje, ze takie zachowanie jest niewlasciwe, to to jest "czcza pyskowka"... Pewnie jestem tez czescia ukladu, jak kazdy kto sie nie zgadza... naprawde, taki sposob komunikacji jest dzis chyba modny.
> To, że napisałem post nie oznacza, że siedziałem z założonymi rękami.
Jasne, ale zarzut postawiles wczesniej. A odpowiedz poznales zanim pare osob poswiecilo czas na jego rozwiazanie.
> W sumie dobrze, że pojawił się ten post.
Nie ma to jak samodzielnie siebie pochwalic za swoja wlasna decyzje. Umocniles mnie w przekonaniu, ze masz racje, skoro sam ze soba sie zgadzasz.
> I jeszcze raz powtórzę
A to ja spytam jeszcze raz: Czy bazujac na tym przykladzie uznajesz, ze jesli kiedykolwiek nie zrozumiesz zachowania Gecko, to jest OK nadac taki tytul, zanim pozna sie odpowiedz?
> Jak to się mówi? Przyganiał kocioł...?
Czy powyzszy cytat to ze mnie? Nie przypominam sobie takiej wypowiedzi...
zbraniecki # Tuesday, June 6, 2006 4:33:29 PM
Robert Błautquiris # Wednesday, June 7, 2006 10:46:50 AM
W świetle tego co jest napisane w CSS 2.1 jednoznacznego rozstrzygnięcia wskazać nie można. A skoro nie można orzec, trzeba bazować na tym jak to rozwiązali inni i który rodzaj implementacji jest hmm... użyteczny. Znakomita większość (jeśli nie wszystkie) implementacji wyświetla marker inaczej niż Gecko. Dodatkowo sposób wyświetlania Gecko co tu dużo mówić psuje listy. Jakoś nie mogę wyobrazić sobie zastosowania praktycznego sposobu wyświetlania Gecko. Taka jest moja opinia. Mniej więcej podobny tok rozumowania przyjęli developerzy wymieniając uwagi na ten temat we wspomnianym błędzie.
Co tu dużo mówić, jedno jest pewne - zachowanie Gecko jest inne niż w pozostałych przeglądarkach, a potrzeba zachowania interoperacyjności w standardzie CSS 2.1 - to co próbuje uzyskać grupa robocza CSS wymaga, żeby było spójne.
Podobne zachownie. Opera do wersji 8.5 dla elementu body ustawiała domyślnie 8px dopełnienie, zamiast powszechnie ustawianego w innych przeglądarkach marginesu 8px. Podstawą takiego zachowania był zapis: http://www.w3.org/TR/CSS2/sample.html Oczywiście nie można było powiedzieć, że pozostałe przeglądarki nieprawidłowo działają w tym względzie, bo przytoczony artykuł jest informacyjny, a nie normatywny. Czyli znowu, na dwoje babka wróżyła. Ja jednak z ulgą i radością powitałem zmianę tego zachowania w Operze 9 właśnie w imię zachowania interoperacyjności z innymi przeglądarkami.
Maciek Korsanneochan # Friday, June 23, 2006 6:13:49 AM
Mozilla/5.0 (X11; U; Linux i686; pl; rv:1.8.0.4) Gecko/20060508 Firefox/1.5.0.4
wszystko działa elegancko, nic sie nie rozjezdza.
Robert Błautquiris # Friday, June 23, 2006 6:35:45 AM
Neochan: Błędu już dawno nie ma na tej stronie. Zmieniłem po prostu style, tak żeby działało to sensownie w Fireofoksie. Poczytaj: http://my.opera.com/quiris/blog/show.dml/286303