Atsakymas parašytas: 2010-04-16 23:40:58
[#929]
Ilgalaikė nuoroda į atsakymą #1
Sveikas.
Dėl
position: absolute;: turi nustatyti, pagal kurį elementą ji yra taip nustatoma. Ta prasme, jei nori, kad elementas būtų priklausomas nuo
#site tai prie jo savybių prirašai
position: relative;, tada elementai esantys jame bus priklausomi nuo jo ribų. Nežinau ar supratai.. Sunkiai man gaunasi paaiškint. Dėl visa ko
perskaityk čia.
Dėl naršyklių optimizacijos: labai sunku padaryti taip, kad visos naršyklės rodytų vienodai. Ypač nepaklusnios yra IE naršyklės, taigi jų klaidoms ištaisyti galima naudoti įvairius JavaScript'us arba papildomus CSS failus. Tam reikalui yra skirti "Conditional Comments". Naudojant juos galima nutaikyti tam tikrą CSS failą tam tikrai IE naršyklei.
Daugiau rasi čia.. Žinoma yra būdų, kaip kai kurias klaidas ištaisyti nenaudojant papildomų CSS failų. Pvz.: jei elementas yra lygiuojamas į kairę (
float: left;) ir jam yra uždedama kokia nors
margin reikšmė, tai IE6 naršyklė tą reikšmę padidina dvigubai. Puiki išeitis yra panaudoti
display: inline; aprašą. Jis visiškai nieko nelemia kitose naršyklėse, kadangi elementas yra lygiuojamas į kairę naudojant
float, bet IE6 problemą tai ištaiso. Taip pat kaip pvz.: jei sukuri elementą, bet jame nieko nėra, (
<div id="line"></div>), tada jam nustatai CSS savybes (aukšty, ir t.t.), tai berods IE6 ir IE7 nepaiso aukščio parametro, šiai klaidai ištaisyti, galima naudoti
overflow: hidden;. Taigi, daug ką galima apeiti, su laiku tai darysi automatiškai..
Pats, pagrinde, pasikliaunu FireFox naršykle. Pastebėjau, kad ji manęs klauso geriausiai. Žinoma vėliau patikrinu puslapį ir per kitas naršykles ir radęs neatitikimų juos taisau. Esmė ta, kad kuo daugiau turėsi patirties, tuo geriau žinosi ką darai. Kurdamas taisyklingą kodą, pastebėsi, kad kitų naršyklių kompensuoti nereikės, nes viskas atrodys taip pat per visas naršykles..