Piotr Konieczny

konsultant ds. bezpieczeństwa, podróżnik,
hobbystycznie fuksiarz i gadżeciarz
szkot, prawie spadochroniarz...
nienawidzi zielonego.


« wszystkie wpisy |

Poniedziałek, 17 kwietnia 2006 :: 02:41:10
IT

Bug w najnowszym Firefox?

Czy IE i Opera są naprawdę lepsze od Firefoksa? A może to tylko brak moich umiejętności?

"Bug" odkryłem po wielu godzinach męczarni upływających pod znakiem melodyjnego i jednostajnego WTF!?

Free Image Hosting at www.ImageShack.us

"Bug" nazywałem "nested float".
"Buga" Fajerfoksem podziwiać można tutaj (bez obaw, tym razem nic nie wybuchnie). Popatrzcie na źródło (CSS, dla wygody, zagnieżdzony w tym samym pliku).

"Buga" nie zobaczą użytkownicy Opery i IE -- w zamian dostaną to, co chciałem osiągnąć: dwie kolumny zawierające tekst opływający obrazek.



Tak, nie lubie Fajerfoksa. I nie, nie jestem żadnym-tam-webmasterem, żeby wkuwać różnice pomiędzy implementacjami byle opcji w każdej z przeglądarek... Innymi słowy, czekam na kogoś, kto a) zbluzga mnie za brak podstaw CSS b) poprawi ten kod tak, by działał pod FF :-) (Chyba, że to faktycznie bug i "sięnieda").

Ech, to technologia powinna być dla ludzi, a nie ludzie dla technologii...

• Następny post: Grozny bug w Firefox -- tym razem naprawde :-)
• Poprzedni post: Jak zablokowac kazdy system?

 

Chcesz być informowany o kolejnych wpisach na ten temat?
Kanał RSS: kliknij tutaj. Subskrybcja poprzez e-mail: kliknij tutaj.

 

« reszta wpisów | • trackback | ‡ torturuj posta!

Komentarze:

1. Patrys Poniedziałek, 17 kwietnia 2006, 03:10:56
 

Jeden - tekst w lewym boksie nie ma prawa rozciągać tego boksa, bo jest floatowany - stąd tekst całkiem poprawnie wystaje poza boks.

Dwa - prawy boks jest typu blokowego, więc żeby umieścić go obok, popraw sobie style na:

div.current_work2 {
width: 325px;
height: 90px;
margin-left: 325px;
}

 
2. Piotr Konieczny Poniedziałek, 17 kwietnia 2006, 03:19:55
 

Dzięki Patrys!

W życiu bym nie wpadł na to, że musze przesunąć div za pomocą margin... Aż się boje myśleć jak to musi wyglądać przy dynamicznej szerokości diva...

To rozwiązanie to w ogóle powszechnie stosowana wśród projektantów metoda, czy hack? (I dlaczego tylko FF się wyłamał - czyt. która implementacja jest poprawna(-iejsza)?)

A rozciąganie boksa i wystawanie tekstu jest poza dyskusją -- to mam dopasowane... już po prostu nie doklejałem więcej CSS, żeby nie zamazać istoty... :-)

 
3. Fafek Poniedziałek, 17 kwietnia 2006, 12:29:41
 

Poprawniejsza jest implementacja Firefoksa.
Dodaj tylko do div.current_work2 "float: left".

Problem wynika stąd, że domyślną wartością dla "float" to "none".
Pozbądź się wartości dla "height" i wszystko będzie wyglądać ładnie.

 
4. Piotr Konieczny Poniedziałek, 17 kwietnia 2006, 12:38:35
 

Fafek: Dzięki! Podane przez Ciebie rozwiązanie problemu, od razu załatwia bloki o dynamicznie generowanej szerokości.

(Zawsze myślałem, że "float: X;" ustawia się tylko w elemencie, który ma być opływany (tu lewy box), a nie także w elemencie opływającym (prawy box).

 
5. Patrys Poniedziałek, 17 kwietnia 2006, 12:39:36
 

Prawy boks nie jest elementem opływającym. Gdyby tak było, to lewy boks zanjdowałby się _wewnątrz_ prawego.

 
6. Piotr Konieczny Poniedziałek, 17 kwietnia 2006, 12:45:35
 

Patrys: Hm. To jak się "fachowo" nazywa element, który zmienia położenie na stronie?

Ja, niemający pojęcia o tajnikach CSS, widzę to tak: boks A po lewej stoi tam gdzie stałby normalnie. Dodaje mu float i to umożliwia boksowi B, (który byłby pod nim) opłyniecie boksa A z prawej strony...

Więc A jest bierny (bo sie nie rusza) czyli opływany, a B jest czynny (przeskakuje wyżej) czyli opływający (boks B).

 
7. PablO (modified by Piotr Konie Poniedziałek, 17 kwietnia 2006, 13:03:14
 

PablO napisał:
Piotrze, cały knif polega na tym, że nadałeś obu elementom taką samą szerokość. Jako że pierwszy ma float, nie istnieje on dla drugiego i ten drugi element wchodzi pod niego (ustaw sobie kolor tła dla .current_work2). Natomiast elementy liniowe (czyli np. tekst) znajdujące się (w źródle) obok floata robią sobie miejsce na niego, dlatego tekst nie wszedł pod float tylko wyciekł pod spodem.
http://kurs.browsehappy.pl/CSS/Float
Rozwiązaniem tutaj jest albo ustawienie float:left; dla .current_work2, albo usunięcie z niego szerokości.

 
8. Jakub81 Poniedziałek, 17 kwietnia 2006, 13:14:30
 

Pragnę zauważyć, że nie dałeś DOCTYPE, przez co Opera i inne przeglądarki wskoczyły w tryb Quirks. Gdybyś określił na początku strony DOCTYPE, Opera wyświetliłaby to tak samo jak Firefox (zgodnie ze standardem).

 
9. Yano Poniedziałek, 17 kwietnia 2006, 23:33:30
 

Ech, bluzgać nie będę, bo i po co. Ale ta technologia, o której piszesz, jest tworzona dla ludzi przez ludzi. I to co odpowiada jednemu człowiekowi nie musi pasować drugiemu. Wszystkim się dogodzić nie da.
A żeby jednak odbić piłeczkę, to napiszę, że Opera też ma swoje za uszami, ale śmieci na swoim podwórku się nie zauważa. ;) Mi też się zdarza przymykać oczy na błędy w Fx, choć niektóre bywają wkurzające. ;)
Na szczęście zawsze można zgłosić błąd i czekać na nową wersję. :)

 
10. gandalf Wtorek, 18 kwietnia 2006, 11:57:03
 

Yano: w przypadku Firefoksa mozna tez:
a) Blad poprawic
b) Aktywnie uczestniczyc w jego poprawianiu skracajac czas tworzenia poprawki (testujac patche , przygotowujac testy itp.)
c) Zaplacic za poprawienie go (to naprawde nie sa duze kwoty)

p.s. dlaczego mam cholerne poczucie, ze gdyby przypadkiem piko zastosowal to o czym napisal Jakub81, i ten sam blad wyskoczylby mu w Operze, to by sie nawet o nim nie zajaknal tylko znalazl rozwiazanie...?

 
11. marcoos Wtorek, 18 kwietnia 2006, 18:20:30
 

Tak, Firefox wyświetla poprawnie, bo włebmaster nie wie, co robi, ale i tak należy Firefoksowi dowalić, a co!

Jakież to operowcowe... ;-))

 
12. Piotr Konieczny Wtorek, 18 kwietnia 2006, 18:45:44
 

Poczekaj Gandalfie, Operze dostanie się w następnym poście :-) (Bo przy kolejnej porcji kodu FF i IE "działają", a O się buntuje).

BTW: Panowie, zauważyliście, jak mocno akcentowałem słowo bug (ciapkami i <strike>) oraz jak bardzo podkreśliłem nieznajomość tajników CSS przez webmastera, prawda? :>

 
13. gandalf Środa, 19 kwietnia 2006, 04:30:01
 

Piotr: 60% ludzi czytajacych planete Opery (wlacznie ze mna), od kilku dni widzi duzy napis "Bug w najnowszym Firefox" (malo kto zauwaza "?", wiekszosc jak sie zastanowi to pamieta o co chodzilo itp., ale podkorowo zachowuja ta wlasnie, skrocona, wersje tytulu) - to naprawde bez sensu. Moze zmien tytul na "Nie umiem tego zrobic?" ;)

I nie chodzi o "dowalanie" komukolwiek, po prostu nie siejmy FUDu. Jesli cos nie dziala, to dopoki nie jestem pewien, ze to blad, nie rzucajmy oskarzen. Tak bedzie latwiej.

 
14. twardy Wtorek, 05 sierpnia 2008, 14:46:12
 

daj taki sam styl do obydwóch bloków, jeżeli tak samo mają wyglądać, dodaj float też do tamtego. sam float dziala na tekst, który przyklei się do obrazka, natomiast firefox nie będzie bloków traktował jako tekst, jak robią to inne, tutaj to sie moze wydawac jako bug, ale w praktyce jest to bardzo przydatne

 

Dodaj komentarz:

Wyślij pustą wiadomość, aby śledzić komentarze przez bota.
Komentarze są własnością osób komentujących.
Właściciel bloga nie ponosi za nie odpowiedzialności.
Komentarze nie na temat będą usuwane.

Ofiara

Jeśli powyższy wpis przydał Ci się w jakiś sposób,

autorowi :-)

Czytelnicy:

« wszystkie wpisy