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.
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.
vot shitas ir slikti darits 🙂
🙂 š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 😀
Es ar vakar vienā saitā iegāju, a tas galīgi šķībs. Norakstīju uz saita veidotāju roku līkumu 😀
m
kaut kā neraksturīgi ilgi labo šo kļūdu…
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..
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/
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.
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.
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.
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):
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.
Izlabots iekš Firefox 2.0.0.9rc1