Kekuatan unit EM di CSS
3
Takeaways Key
- Dalam CSS, unit EM adalah sama dengan saiz font yang dikira untuk elemen yang digunakan EM. Apabila unit EM diisytiharkan pada unsur-unsur kanak-kanak yang tidak mempunyai saiz fon yang ditakrifkan, mereka mewarisi saiz fon mereka dari ibu bapa mereka, atau dari elemen nenek moyang yang lain.
- unit em berfungsi dengan baik dengan teknik CSS modular seperti gaya peringkat komponen atau bahagian kod yang terkandung. Mereka boleh digunakan untuk memastikan bahawa unsur -unsur komponen semuanya bersaiz antara satu sama lain, dan membolehkannya dengan mudah diubahsuai.
- Unit REM dalam CSS sentiasa mewarisi nilainya dari tetapan saiz fon asas pada elemen akar dokumen, tanpa mengira saiz fon yang dikira. Jadi, anda boleh menggunakan REMS, tetapi ini bermakna anda perlu mengawal semua komponen pada halaman menggunakan saiz fon pada elemen itu.
- unit em menawarkan beberapa kelebihan berbanding piksel. Mereka berskala, bermakna mereka menyesuaikan berdasarkan tetapan penyemak imbas lalai pengguna atau tetapan peranti mereka. Ini menjadikan laman web anda lebih mudah diakses oleh pengguna dengan kecacatan visual yang mungkin perlu meningkatkan saiz fon. Unit EM juga membolehkan reka bentuk yang lebih fleksibel dan responsif, kerana mereka menyesuaikan berdasarkan saiz font elemen induk.
Apa EMS dalam CSS?
Dalam CSS, unit EM adalah sama dengan saiz fon yang dikira untuk elemen yang mana EM digunakan. Apabila unit EM diisytiharkan pada unsur-unsur kanak-kanak yang tidak mempunyai saiz fon yang ditakrifkan, mereka akan mewarisi saiz fon mereka dari ibu bapa mereka, atau dari elemen nenek moyang yang lain, mungkin akan kembali ke elemen akar pada dokumen. Lihat CSS berikut:<span><span>.example</span> { </span><span>font-size: 20px; </span><span>}</span>
<span><span>.example</span> { </span><span>font-size: 20px; </span><span>border-radius: .5em; </span><span>}</span>
<span><span>.example</span> { </span><span>font-size: 20px; </span><span>border-radius: .5em; </span><span>padding: 2em; </span><span>}</span>
bila menggunakan em dalam css
Unit EM berfungsi dengan baik dengan teknik CSS modular seperti gaya peringkat komponen atau bahagian kod terkandung secara umum. Sebagai contoh, mereka boleh digunakan untuk memastikan bahawa unsur -unsur komponen (misalnya kad) semuanya bersaiz relatif antara satu sama lain, dan membolehkannya dengan mudah diubahsuai. Teknik ini pada dasarnya berfungsi seperti ini: harta saiz fon digunakan, seperti yang dirujuk Simurai, sebagai "kuda Trojan", mewujudkan unit asas untuk pelbagai elemen di dalam komponen kami, atau modul. Oleh kerana unit EM, seperti yang diterangkan di atas, dikira berdasarkan saiz fon yang ditentukan oleh akar pada elemen induk, ini menjadikan keseluruhan komponen mudah disusun semula dengan hanya mengubah saiz fon pada elemen induk. Mari kita lihat ini dalam tindakan dalam demo codepen:Lihat pena menggunakan EMS untuk komponen yang boleh disesuaikan oleh SitePoint (@SitePoint) pada codepen.
Modul kecil yang bodoh ini mempunyai empat elemen asas di dalamnya. Tidak ada yang mewah, hanya satu contoh untuk menggambarkan teknik ini. Gerakkan gelangsar jarak di bahagian atas halaman demo untuk menukar saiz modul. Anda juga boleh mengujinya pada skrin penuh. Slider julat disambungkan ke satu nilai pada elemen akar untuk komponen: nilai saiz font. Harus diingat di sini bahawa tujuan membuat komponen yang boleh disusun semula menggunakan harta CSS tunggal ini tidak semestinya supaya pengguna dapat melakukan ini. Ini terutamanya supaya pemaju mengekalkan modul boleh membuat pelarasan dengan cepat, tanpa mengutamakan nilai -nilai yang berbeza di semua bahagian komponen. Seperti yang diterangkan dalam bahagian sebelumnya, apabila saiz fon berubah, ini mengalir ke semua nilai EM yang ditetapkan pada elemen induk itu serta kepada semua elemen anaknya, menjadikan semua bahagian komponen secara fleksibel. Jika anda memeriksa CSS, anda akan melihat perkara berikut:- Segala -galanya di dalam komponen bersaiz dengan EMS, kecuali sempadan luar (yang kita mahu kekal pada 2px pada setiap masa), dan imej, yang saya dapat mengubah saiznya jika kita mahu, tetapi saya gembira dengan saiznya statik untuk kes ini.
- perkara seperti air mata di sudut kanan atas adalah elemen pseudo, yang juga mendapat manfaat dari saiz font asas pada ibu bapa.
- CSS juga termasuk dua pertanyaan media yang menyesuaikan saiz font pada ibu bapa. Sekali lagi, ini menunjukkan kegunaan teknik ini kerana anda tidak perlu mengubah semua saiz dalam pertanyaan media, tetapi hanya saiz font.
beberapa nota, kelemahan, dan lain -lain
Seperti yang anda dapat lihat daripada menggunakan slider julat dalam demo, jenis saiz semula fleksibel ini tidak semestinya sesuatu yang anda mahu gunakan. Ia boleh menjadi agak menyekat. Anda mungkin perlu mengubah beberapa nilai EM untuk mendapatkannya bagaimana anda suka, dan, seperti dalam kes sempadan induk dalam demo, anda mungkin tidak mahu kemampuan saiz semula untuk memohon kepada semua elemen. Anda boleh mengatasinya dengan mudah dengan hanya mengelakkan EMS pada unsur -unsur yang anda mahu tinggalkan. Seperti yang diterangkan dalam perbincangan mengenai artikel asal Simurai, anda tidak perlu menggunakan unit PX untuk menetapkan saiz font root. Anda juga boleh menggunakan EMS untuk itu, tetapi ingatlah bahawa ini akan diwarisi dengan cara yang sama dari ibu bapanya, mungkin datang dari nilai lalai dokumen untuk saiz font.bagaimana dengan REMS dan SASS?
Unit REM dalam CSS sentiasa mewarisi nilainya dari tetapan saiz fon asas pada elemen akar dokumen, tanpa mengira saiz fon yang dikira. Dalam HTML, elemen akar sentiasa elemen HTML. Jadi, anda boleh menggunakan REMS, tetapi ini bermakna anda perlu mengawal semua komponen pada halaman menggunakan saiz fon pada elemen tersebut. Ia boleh berfungsi pada projek -projek tertentu, tetapi saya fikir teknik ini berfungsi dengan baik apabila memfokuskan kebolehpercayaan pada komponen terpencil, dan bukannya seluruh dokumen. Bagi menggunakan preprocessor seperti sass, saya fikir itu titik sampingan. Akhirnya, lembaran gaya anda yang disusun akan menggunakan unit apa sahaja yang anda gunakan dalam kod SASS anda, dan warisan akan berfungsi dengan cara yang sama.Kesimpulan
Seperti yang telah disebutkan, Simurai layak mendapat kredit untuk membuat teknik ini lebih dikenali. Sudah tentu, seperti yang dia sebutkan, ini bukan sesuatu yang baru dan konsep asas telah digunakan oleh banyak pemaju berpengalaman selama bertahun -tahun - tetapi mungkin tidak begitu banyak dalam konteks komponen web, atau modul. Seperti yang dikatakan Simurai, saya fikir ini adalah kaedah yang bagus untuk digunakan apabila membina kerangka CSS atau perpustakaan komponen, dan, jika tidak ada yang lain, saya fikir teknik itu benar -benar memacu di rumah tentang bagaimana unit EM yang kuat. Em bukan satu -satunya unit CSS yang tersedia, tentu saja. Semak gambaran keseluruhan unit saiz CSS kami.Soalan Lazim (Soalan Lazim) Mengenai Unit EM dalam CSS
Apakah perbezaan antara unit EM dan REM dalam CSS? EM adalah relatif kepada saiz fon ibu bapa terdekatnya, atau elemen semasa. Ini bermakna jika anda menetapkan saiz fon elemen kepada 1.2EM, ia akan menjadi 1.2 kali saiz saiz fon ibu bapa. Sebaliknya, REM adalah relatif kepada akar, atau elemen HTML. Oleh itu, jika anda menetapkan saiz fon elemen kepada 1.2rem, ia akan menjadi 1.2 kali saiz saiz fon unsur akar. Ini menjadikan REM lebih diramalkan dan lebih mudah dikawal daripada em.
Bagaimana saya menukar piksel ke unit EM dalam CSS?
Untuk menukar piksel ke unit EM, anda perlu mengetahui saiz font asas dokumen anda. Saiz font asas lalai dalam kebanyakan penyemak imbas ialah 16px. Oleh itu, jika anda ingin menukar nilai piksel ke EM, anda membahagikan nilai piksel dengan saiz font asas. Sebagai contoh, jika anda ingin menukar 18px ke EM, anda akan melakukan 18/16 = 1.125em. Mereka berskala, bermakna mereka menyesuaikan berdasarkan tetapan penyemak imbas lalai pengguna atau tetapan peranti mereka. Ini menjadikan laman web anda lebih mudah diakses oleh pengguna dengan kecacatan visual yang mungkin perlu meningkatkan saiz fon. Unit EM juga membolehkan reka bentuk yang lebih fleksibel dan responsif, kerana ia menyesuaikan berdasarkan saiz fon elemen induk. Ini termasuk sifat seperti lebar, ketinggian, padding, margin, dan ketinggian garis. Menggunakan unit EM untuk sifat-sifat ini dapat membantu mengekalkan hubungan berkadar dalam reka bentuk anda. Sebagai contoh, jika anda mahu saiz font asas menjadi 18px, anda akan menulis: html {font-size: 18px; }. Semua unit EM di CSS anda akan menjadi relatif kepada saiz font asas ini. Ini boleh membawa kepada kesan pengkompaunan, di mana saiz elemen kanak -kanak menjadi lebih besar atau lebih kecil daripada yang dijangkakan. Untuk mengelakkan ini, anda boleh menggunakan unit REM, yang selalu relatif kepada saiz elemen akar. Kerana unit EM adalah relatif, saiz sebenar mereka boleh berubah berdasarkan konteksnya. Ini boleh menjadikannya lebih sukar untuk meramalkan saiz unsur -unsur, terutamanya dalam susun atur yang kompleks dengan unsur -unsur bersarang. CSS mengikuti hierarki kekhususan, di mana pemilih yang lebih spesifik mengatasi yang kurang spesifik. Sebagai contoh, pemilih ID akan menimpa pemilih kelas, dan pemilih kelas akan menimpa pemilih jenis.
Bolehkah saya menggunakan unit EM dalam pertanyaan media dalam CSS?
Ya, anda boleh menggunakan unit EM dalam pertanyaan media. Malah, menggunakan unit EM dalam pertanyaan media boleh meningkatkan respons reka bentuk anda. Kerana unit EM adalah relatif, mereka menyesuaikan berdasarkan tetapan penyemak imbas lalai pengguna atau tetapan peranti mereka. Ini bermakna pertanyaan media anda akan menyesuaikan diri dengan tetapan pengguna, bukan hanya saiz paparan. Sebagai contoh, jika saiz elemen induk adalah 1.5EM dan saiz elemen kanak -kanak adalah 2EM, saiz sebenar elemen kanak -kanak ialah 1.5 * 2 = 3EM. Ini kerana saiz elemen kanak -kanak adalah relatif kepada saiz elemen induk.
Atas ialah kandungan terperinci Kekuatan unit EM di CSS. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas











Saya melihat Font Google melancarkan reka bentuk baru (tweet). Berbanding dengan reka bentuk besar yang terakhir, ini terasa lebih berulang. Saya hampir tidak dapat memberitahu perbezaannya

Pernahkah anda memerlukan pemasa undur dalam projek? Untuk sesuatu seperti itu, mungkin semula jadi untuk mencapai plugin, tetapi sebenarnya lebih banyak lagi

Semua yang anda ingin tahu mengenai atribut data dalam HTML, CSS, dan JavaScript.

Pada permulaan projek baru, kompilasi SASS berlaku dalam sekejap mata. Ini terasa hebat, terutamanya apabila ia dipasangkan dengan BrowserSync, yang dimuat semula

Tartan adalah kain berpola yang biasanya dikaitkan dengan Scotland, terutamanya kilt bergaya mereka. Di Tartanify.com, kami mengumpulkan lebih dari 5,000 Tartan

Arahan template inline membolehkan kita membina komponen Vue yang kaya sebagai peningkatan progresif ke atas markup WordPress yang sedia ada.

Satu perkara yang menarik perhatian saya pada senarai ciri-ciri untuk Lea Verou ' s conic-gradient () polyfill adalah item terakhir:

Mari kita cuba menyusun istilah di sini: "Penyedia Borang Statik." Anda membawa html anda
