|
Dauguma vietinių dizainerių mėgsta naudoti px, o dauguma užsienio svetainių mėgsta naudoti em ir rem, taigi kuo skiriasi trys ir kokie yra kiekvieno iš jų privalumai ir trūkumai? Pateiksime jums išsamų įvadą. PX funkcijos: 1. IE negali reguliuoti šrifto dydžio tiems, kurie naudoja px kaip vienetą; 2. Priežastis, kodėl dauguma užsienio svetainių gali būti koreguojamos, yra ta, kad jos naudoja em arba rem kaip šrifto vienetus; 3. "Firefox" gali reguliuoti px, em ir rem, tačiau daugiau nei 96% Kinijos internautų naudoja IE naršyklę (arba branduolį). px pikselių. Santykinio ilgio vienetai. "Pixel px" yra susijęs su monitoriaus ekrano skiriamąja geba. (Citata iš CSS2.0 vadovo) em yra santykinis ilgio vienetas. Šrifto dydis, palyginti su dabartinio objekto tekstu. Jei eilutės teksto šrifto dydis nėra dirbtinai nustatytas, jis bus susijęs su numatytuoju naršyklės šrifto dydžiu. (Citata iš CSS2.0 vadovo) Numatytasis bet kurios naršyklės šrifto aukštis yra 16 pikselių. Visos nekoreguotos naršyklės atitinka: 1em=16px. Tada 12px=0.75em, 10px=0.625em. Norėdami supaprastinti šrifto dydžio konvertavimą, turite deklaruoti font-size=62.5% css kūno parinkiklyje, todėl em reikšmė yra 16px*62.5%=10px, taigi 12px=1.2em, 10px=1em, o tai reiškia, kad jums tereikia padalyti pradinę px reikšmę iš 10, o tada pakeisti ją em kaip vienetu. EM savybės: 1. Em vertė nėra fiksuota; 2. em paveldi pirminio elemento šrifto dydį. Taigi, kai rašome CSS, turime atkreipti dėmesį į du dalykus: 1. Kūno parinkiklyje deklaruokite šrifto dydį = 62.5%; 2. Padalinkite pradinę px reikšmę iš 10 ir pakeiskite ją em kaip vienetu; 3. Perskaičiuokite tų padidintų šriftų em reikšmes. Venkite pakartotinių šrifto dydžio deklaracijų. Tai yra, norint išvengti 1,2 * 1,2 = 1,44 reiškinio. Pavyzdžiui, jei deklaruojate šrifto dydį 1.2em #content, tai deklaruojant šrifto dydį p, jis gali būti tik 1em, o ne 1.2em, nes šis em nėra tas em, ir jis tampa 1em=12px, nes paveldi šrifto aukštį #content. REM funkcijos rem yra naujas santykinis vienetas (root em), pridėtas prie CSS3, kuris sulaukė daug dėmesio. Kuo skiriasi šis vienetas ir em? Skirtumas tas, kad kai elemento šrifto dydžiui nustatyti naudojate rem, jis vis tiek yra santykinis dydis, tačiau santykinis yra tik HTML šaknies elementas. Galima sakyti, kad šis įrenginys sujungia santykinio dydžio ir absoliutaus dydžio privalumus, per kuriuos jis gali ne tik modifikuoti tik šakninį elementą, kad proporcingai sureguliuotų visus šriftų dydžius, bet ir išvengti grandininės reakcijos, kai šriftų dydžiai yra sudėtiniai sluoksnis po sluoksnio. Šiuo metu rem palaikomas visose naršyklėse, išskyrus IE8 ir senesnes. Naršyklėms, kurios to nepalaiko, atsakymas taip pat yra labai paprastas, tai yra parašyti absoliutaus vieneto teiginį. Šios naršyklės nepaiso šrifto dydžio, nustatyto su rem. Štai pavyzdys: p {šrifto dydis:14px; šrifto dydis:.875rem; } Nata:Šriftų vienetų pasirinkimas daugiausia priklauso nuo jūsų projekto, o jei jūsų vartotojų bazė naudoja naujausią naršyklės versiją, rekomenduojama REM, jei suderinamumas kelia susirūpinimą, naudokite px arba abu. Čia yra px, em, rem vieneto konvertavimo įrankio adresas:http://pxtoem.com/
|