Am un layout nesimţit pe care îl chinui dinaintea celui prezentat ultima oară. În Firefox se vede perfect, în IE 7 se vede perfect, în IE 6 la 1280×1024 e varză. DIV-ului principal îi adaugă în dreapta o margine albă de vreo 10-15 pixeli, de care nu pot să scap, iar la o anumită pagină îmi zăpăceşte sidebar-ul din dreapta – îl duce sub coloana principală. Soluţii? Am micşorat margini, am micşorat padding-uri, am mărit, am scos, am pus la loc, l-am făcut în toate felurile. Rezultatele? Aceleaşi, la fel de nesatisfăcătoare de fiecare dată.
Sfatul programatorului?
Programator: sa nu vorbim de ie6
Programator: in principiu el are bushit ceea ce inseamna margins
Programator: de aia iti apar rahaturi
Programator: margins/padding e varza
Programator: si ai cam ce iti trebuie despre minunatul ie6 aici
Programator: http://www.positioniseverything.net/explorer.html
Programator: have fun
Programator: vezi sa ai tzigari, cola, cafea si o tailandeza pentru masaj relaxant
Al naibii de mulţumitor, nu-i aşa?
În altă ordine de idei, Microsoft are o deosebită plăcere în a da cu bîta-n baltă cînd e vorba de Windows. Spre exemplu, uite eroare:

Alexandru @ 22.3.2007, 12:24 am
Windowsul tău suferă :).
Eu m-am obişnuit[a se citi resemnat] de mult cu astfel de erori slăbuţe.
Trăiască norton ghostul în caz de doamne fereşte pică de tot.
Alex Trusk @ 22.3.2007, 12:50 am
De ce oare te miră? E făcut de Microsoft. :)
Alex @ 22.3.2007, 8:15 pm
pai tocmai, ca nu ma mira. ma amuza. ma rog, eroarea ma amuza, IE 6 ma enerveaza si ma dispera x(
Cristi @ 23.3.2007, 12:30 am
Si eu am avut aceasi problema pentru airclicks.net. Tot ce trebuie sa faci este sa creezi un css separat pentru IE si sa folosesti numai functii recunoscute de IE6 sau sub acesta. Dupa care pui in header codul acesta:
if(navigator.appName == “Microsoft Internet Explorer”) {
document.write(“”);
}
else {
document.write(“”);
}
Bafta!
Alex @ 23.3.2007, 12:38 am
riiight! nu vrei tu sa faci css-ul ala in locul meu? :))
dt @ 23.3.2007, 3:11 am
M-am saturat de programatori de 2 lei care prefera sa dea vina pe Microsoft in loc sa gaseasca solutii.
“Internet Explorer versions 6 and 7 are not affected by the bug if the page contains certain HTML document type declarations (DTDs).”
http://en.wikipedia.org/wiki/Internet_Explorer_Box_Model_Bug
(in cazul asta, nici macar nu e vorba de un bug)
Alex @ 23.3.2007, 5:50 pm
eu am spus ca sint lame la programare si sper ca toata lumea a luat-o de buna. in fine, ideea e ca am incercat sa schimb doctype-ul tot la sfatul omului astuia si l-am schimbat de pomana.
Mihai @ 24.3.2007, 10:17 am
Salut Alex.
Contrazic programatorul cu care ai purtat discutia.(Si imi pare rau ca nu am avut timpul necesar sa te ajut atunci).
IE6 nu are padding/margins “bushite” ci prost integrate. Adica in dezacord cu standardele internationale. Intr-adevar uneori, doctype-ul influenteaza afisarea. (Vezi pe google “quirks mode doctype”.
Ideea la IE6 e urmatoarea. Box modelul e diferit de celelalte.
Vezi detalii si explicatii aici (IE box model + doctypes): http://css.maxdesign.com.au/listamatic/about-boxmodel.htm
Exista modalitati de a scrie cod CSS doar pt IE si doar pt FF dar nu recomand aia cu JavaScript.
Mai este tehnica cu
* html element .class { bla bla }
pt IE dar genereaza warnings in compilarea CSS la FF si altele.
O metoda pe care o utilizez eu dupa ani de frecush e urmatoarea, si o consider f simpla si eficienta.
Se bazeaza pe interpretarea IE6 a proprietatilor precedate de “_”:
Adica IE6 interpreteaza si “width” dar si “_width”. FF nu interpreteaza “_width”. Asa ca doar pun “_width” recalculat dupa ce am declarat “width”.
E.g.:
html div { width:200px; margin:5px; _width:190px; }
Interpretarea se face asa:
Pt FF: citeste width si-l memoreaza. citeste margin si-l memoreaza. citeste _width si nu-l memoreaza deoarece nu corespunde unei proprietati valide.
Pt IE6: citeste width si-l memoreaza. citeste margin si-l memoreaza. citeste _width si-l memoreaza peste valoarea precedenta citita din “width”.
Ma rog, exemplul nu e excelent dar sper sa intelegi cat de cum sta treaba.
Spor ;)
forapathy @ 24.3.2007, 1:00 pm
pai ideea e ca daca nu vrei sa te dai cu capu de tastatura prea mult ideea lui @Cristi e foarte buna si foarte des utilizata.. mai ales de aia care fac layout-uri full css.
mai poti incerca sa faci asa:
.class {tot ce pui aici o sa fie citit de ie6}
html > body {tot ce pui aici NU o sa fie citit de ie6 ca nu recunoaste child selectors.}
si asa te poti jcua mai usor cu tot ce tine de padding, margin si width.
forapathy @ 24.3.2007, 1:01 pm
aa error.. am scirs aiurea.. era:
html > body .class { bla bla bla }
nimeni @ 27.3.2007, 6:19 pm
30 seconds suggestion – incearca sa adaugi in css:
#primary {
_width: 480px !important;
}
Alex @ 27.3.2007, 6:25 pm
nu merge aia cu _width, am tot testat-o.
nimeni @ 27.3.2007, 8:50 pm
Scuze, ‘div.primary’ in loc de ‘#primary’
Testat on-the-fly pe pagina asta, pare sa rezolve problema search-box-ului coborat sub comments. Mai e si alt bug?
Alex @ 27.3.2007, 9:06 pm
hmm… trimite-mi un mail, ca sa stiu cum sa comunicam mai bine :)
calm @ 28.11.2007, 5:16 pm
ie6 are un bug destul de usturator in ceea ce priveste marign,padding si dimensiunile in general.
Solutia mea ar fi ceva de genul
.clasa_mea{float:left;display:inline;width:300px;}
toate browserele o sa “citeasca” si o sa “afiseze” exact 300px.
In plus ll bady ar fi bine sa adaugi {margin:0px;padding:0px} ca sa fii sigur ca nu iti apar tot felul de nebunii ;)
calm @ 28.11.2007, 5:17 pm
P.S. sorry de greselile ortografice, ma cam grabesc :) …