Firefox 2.0.0.8 CSS float clearing kļūda

Iekš FYFI bloga pamanīju ierakstu par problēmu, kas ir parādījusies pēdējā Firefox 2.0.0.8 jauninājumā. Labojot drošības caurumus izstrādātāji ir uztaisījuši nopietnu CSS izkārtojuma kļūdu. Paši viņi to skaidro šādi.

The 2.0.0.8 release fixed some 200 issues, but accidentally regressed a few things. Most users won’t see any difference or experience any problems, and those 200 fixes make the 2.0.0.8 update very valuable, but you should never have to choose functionality over security. So we’re working fast to understand and fix these problems, and will shortly be issuing a 2.0.0.9 update to address them.

Kļūda ir aprakstīta Bugzillā – Bug 400406 – Layout badly broken in 2.0.0.8, CSS issue with floats or negative margins or display property…


Testa lapa, lai apskatītos kā tas dzīvē izskatās.

Uztaisīju ekrānuzņēmumus ar abiem gadījumiem. Es biju darbā atjaunojis, bet vēl nebiju pārstartējis pārlūku. Tā man tas karājās tādā pa pusei autjaunotā režīmā. Te var redzēt Firefox 2.0.0.7, 2.0.0.8 un Internet Explorer 6. IE7 rāda tāpat kā Firefox 2.0.0.7.

Firefox 2.0.0.7Firefox 2.0.0.8Internet Explorer 6

Ja pareizi atceros, tad šis izkārtojums nav īpaši izplatīts. Es savulaik centos izmantot tā saucamo Easy Clearing risinājumu, kas man šķita visoptimālākais no visiem. Šajā gadījumā šis CSS izkārtojums tiek papildināts ar nelielu JavaScript funkciju un tiek piedāvāts kā pagaidu apkārtceļš, kamēr nebūs iznākusi jauna apakšversija ar labojumu.

Tāpēc nevajadzētu plēst matus uz galvas vai stresot, ja klients saka, ka viņa lapa izskatās šausmīgi. Tajā pašā laikā uzskatu, ka tā nu gan nevajadzēja viņiem darīt. Tagad pa tīklu klejos lietotāji ar pārlūkiem, kas nekorekti attēlos mājaslapas. Un tu nevienam neiestāstīsi, ka vainīgs ir pārlūka izstrādātājs, kas rūpējās par lietotāju drošību. Klienti to vienkārši nesapratīs.

11 thoughts on “Firefox 2.0.0.8 CSS float clearing kļūda

  1. `rolandinsh`

    🙂 šis ieraksts bija tieši laikā, jo tieši ar tuvi līdzīgu quick CSS template centos paeksperimentēt, bet “k-kas nesanāca”, lūk atbilde 😀

    Atbildēt
  2. optron

    Kad parādījās tie lapu izkārtojumi ar float + negatīvu margin, man jau uzreiz likās, ka pārāk viss samežģīts un nākotnē varētu rasties problēmas. Tikai nebiju domājis, ka Firefoxam..

    Atbildēt
  3. deni2s

    Ar tiem float patiesībā ir diezgan vienkārši, un nevajag nekādus EasyClearing risinājumus. Tieši nesen pārtulkoju labu rakstu par šo tēmu: http://web.hc.lv/kods/css/raksti/css-float/

    Atbildēt
  4. CooLynX Raksta autors

    deni2s, es saprotu, ka tev gribās reklamēt savu resursu, bet nevajag jau nu gluži maldināt cilvēkus. Savos rakstos tu dziedi pavisam citas dziesmas. 🙂

    Iztulkots ir 2003.gada raksts kurā aprakstīta problēma ar bilžu un teksta sadzīvošanu vienā kastē.
    http://www.complexspiral.com/publications/containing-floats/

    Šeit ir apskatīta CSS bloku izkārtojuma problēma, kas attiecas uz diviem blokiem un to sadzīvošanu.
    Es ceru, ka vismaz tu pats to saproti un šis ir tikai tāds “lēts” promo.

    Starp citu, daudz korektāk būtu ievietot saiti uz raksta oriģinālu, nevis saita sakni. Ja tas ir domāts, lai atvieglotu dzīvi cilvēkiem. Kļūdu gadījumā vienmēr var apskatīties oriģinālu.

    Atbildēt
  5. deni2s

    Laikam neesi iedziļinājies tajā rakstā, jo ar bilžu un tekstu sadzīvošanu vienā kastē nav nekādas problēmas – viss strādā tā kā tas ir paredzēts. Rakstā tas bija tikai kā piemērs, lai ilustrētu, kāpēc rodas CSS bloku izkārtojuma “problēma”.

    Nedomāju, ka ievietojot saiti, lai informētu citus par manuprāt labākiem risinājumiem, pie tam tiešā kontekstā ar tavu postu būtu uzskatāms par kautkādu “promo”.

    Apmeklētība nav nedz web.hc.lv mērķis, nedz mēraukla – man ir citas prioritātes tam resursam.

    Atbildēt
  6. CooLynX Raksta autors

    Es patiesībā biju domājis, ka tu esi pastudējis šīs lietas nedaudz nopietnāk un sanāks diskusija par tēmu. Stresa nav. 🙂

    Tev tur komentāros arī bija pieminēta problēma ar IE, ko man pirms dažiem gadiem pašam nācās atrisināt. Tās ir lietas par kurām būtu jāraksta.

    Daudz vērtīgāk būtu bijis aprakstīt to kā ir pavirzījusies CSS izmantošanas attīstība, nevis vienkārši iztulkot pirms laba laika aktuālu problēmu. 2003.gadā CSS invāzija vēl tikai sākās un, tad tiešām bija aktuāli risināt tik elementāras lietas kā attēlu sadzīvošanu ar tekstiem un “float” īpatnības.

    Bet tiešām div float problēma ir pavisam, kas cits kā div+img float problēma. Tas ir kā tramvajs un tramvaja pasažieri. Vienā gadījumā tramvaji nespēj sadzīvot uz vienām sliedēm, bet otrā pasažieri karājās ārā pa logu un tas rada problēmu otram tramvajam.

    Atbildēt
  7. deni2s

    Labs salīdzinājums par to tramvaju 🙂 Tikai tā arī nesapratu, par ko tur jādiskutē. float elementu cointaneram uzlieku float un viss ir kārtībā (tas arī tevis aprakstītā lapā ir ieteikts):

    In fact, when all the main elements in a column setup are floats, the worst IE float bugs simply do not happen. Thus using an all-float approach to column design can actually be easier to accomplish, at least within a rigid-width layout.

    Nevajag nekādus semantiski bezjēdzīgus clear elementus veidot.

    Pirms sākt ar sarežģītākām lietām, vajag tikt galā ar pamatiem 🙂 Tad vismaz nav jautājumu “A kas ir SEO?” un tamlīdzīgu – uzreiz var ielikt saiti uz attiecīgo izskaidrojumu. Pašam katru reizi veidojot kkādu layout vienmēr bija problēma, kuras risinājumu katru reizi meklēju par jaunu, tāpēc arī iztulkoju to rakstu – vairāk priekš sevis, bet arī lai citiem noder.

    CSS izmantošanas attīstība nekur nevar pavirzīties, kamēr dabīgā nāvē nenomirs tie pārlūki, kas neatbalsta jaunās CSS iespējas. Priecājos, ka beidzot 800×600 uzskatāms par mirušu.

    Atbildēt

Ieraksti komentāru

Tava e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti kā *