mata utama
kelas pseudo) di sini. :required
R bermaksud REM dan Em
, yang boleh digunakan untuk bentuk gaya di mana bidang mesti diisi. :required
. Oleh itu mari kita lihat beberapa petua cepat untuk menggunakan unit pengukuran REM. Tetapi pertama, mari kita lihat unit relatif lain: em. :required
Gunakan unit relatif ini, anda boleh membina sistem skala di mana menukar nilai saiz fon elemen mempunyai kesan cascading pada unsur -unsur kanak -kanak di dalamnya. Sistem berkadar adalah perkara yang baik, tetapi tingkah laku EM ini mempunyai kelemahan.
Pertimbangkan coretan kod HTML berikut:
<ul> <li>lorem ipsum</li> <li>dolor sit <ol> <li>lorem ipsum</li> <li>lorem ipsum</li> <li>lorem ipsum</li> <li>lorem ipsum</li> </ol> </li> </ul>
Jika kita mahu item senarai menonjol, kita boleh menetapkan saiz fonnya kepada 1.5 kali saiz penanda aras 16px.
<ul> <li>lorem ipsum</li> <li>dolor sit <ol> <li>lorem ipsum</li> <li>lorem ipsum</li> <li>lorem ipsum</li> <li>lorem ipsum</li> </ol> </li> </ul>
tetapi ini menyebabkan masalah dengan lis bersarang, kerana mereka juga akan menjadi 1.5 kali saiz unsur induk mereka. Item bersarang akan menjadi 1.5 kali lebih tinggi daripada 24px, bukannya 1.5 kali lebih tinggi daripada 16px. Hasilnya ialah mana -mana item senarai bersarang akan berkembang dengan pesat pada setiap tahap bersarang. Ini mungkin bukan hasil pereka yang mahu!
Masalah yang sama juga berlaku apabila elemen bersarang dan nilai EM kurang daripada 1. Dalam kes ini, mana -mana item bersarang akan terus berkurangan pada setiap tahap bersarang.
Jadi apa yang harus kita lakukan?
Untuk mengelakkan saiz fon yang semakin meningkat atau berkurangan, kita boleh menggunakan unit alternatif.
kita boleh menggunakan piksel, tetapi seperti yang dinyatakan sebelum ini, unit relatif lebih fleksibel dalam projek responsif. Sebaliknya, kita boleh menggunakan unit REM kerana ini sentiasa berdasarkan saiz fon elemen akar, yang dalam hal laman web atau aplikasi web biasanya merupakan elemen HTML. Dalam dokumen .svg atau .xml, unsur -unsur akar mungkin berbeza, tetapi jenis dokumen ini berada di luar skop semasa kami.
Jika kita menggunakan REM untuk menetapkan saiz fon, itu tidak bermakna bahawa EM tidak akan digunakan. Saya cenderung menggunakan EM untuk menetapkan padding di dalam elemen supaya jarak sentiasa relatif kepada saiz teks.
unit REM hanya disokong dari IE9 dan kemudian. Jika anda memerlukan sokongan untuk IE8 (atau lebih awal), anda boleh menggunakan JS Polyfill atau menyediakan alternatif PX seperti berikut:
li { font-size: 1.5em; /* 24px/16px */ }
Jika anda menggunakan SASS, anda boleh membuat makro hibrid dan fungsi untuk mengira saiz REM yang diperlukan dan secara automatik menyediakan penyelesaian alternatif.
li { font-size: 24px; font-size: 1.5rem; }
itu sahaja. Beberapa petua cepat menggunakan REM. Jika anda tidak menggunakannya dalam projek semasa anda, saya sangat mengesyorkan anda mencubanya.
FAQ untuk nilai REM dan EM dalam CSS
Perbezaan utama antara REM dan EM dalam CSS ialah mereka mengira titik rujukan saiz. Em saiz fon relatif terhadap elemen induk atau elemen semasa yang terdekat. Ini bermakna jika anda bersarang elemen, masing -masing menggunakan EM untuk menentukan saiz fon, saiznya akan dikompaun dan dengan cepat boleh menjadi sukar untuk dikawal. Sebaliknya, REM adalah relatif kepada elemen akar (atau elemen HTML). Ini bermakna tidak kira seberapa jauh elemen bersarang, jika anda menentukan saiz fonnya menggunakan REM, ia akan merujuk saiz fon elemen HTML, memberikan saiz yang konsisten di laman web anda.
REM biasanya digunakan apabila anda ingin membuat saiz semula yang konsisten dan boleh diramal di seluruh laman web anda. Kerana REM adalah relatif kepada elemen akar, saiz semula akan tetap konsisten tidak kira sejauh mana elemen anda bersarang. Ini amat berguna untuk membina reka bentuk responsif di mana konsistensi dan ramalan adalah kritikal. Walau bagaimanapun, apabila anda ingin membuat reka bentuk yang lebih dinamik dan berskala, anda boleh menggunakan EM di mana saiz elemen adalah relatif kepada ibu bapanya.
Untuk menukar piksel ke REM atau EM, anda perlu mengetahui saiz fon rujukan dokumen. Ini biasanya ditetapkan pada elemen HTML, biasanya 16px, tetapi boleh menjadi nilai. Sebaik sahaja saiz fon rujukan diketahui, nilai REM atau EM boleh dikira dengan membahagikan nilai piksel yang dikehendaki oleh saiz fon rujukan. Sebagai contoh, jika saiz fon penanda aras anda adalah 16px, dan anda mahu saiz fon 24px, pengiraan adalah 24/16 = 1.5rem atau 1.5EM.
Walaupun kedua -dua unit REM dan EM boleh digunakan untuk menentukan saiz dalam CSS, mereka tidak boleh digunakan secara bergantian kerana titik rujukannya yang berbeza. REM sentiasa relatif kepada elemen akar, manakala EM adalah relatif kepada elemen induk terdekat atau elemen semasa. Ini bermakna nilai REM atau EM yang sama boleh menghasilkan saiz yang berbeza bergantung kepada konteks yang digunakan.
unit REM dan EM disokong dengan baik dalam semua pelayar moden, termasuk Chrome, Firefox, Safari, dan Edge. Walau bagaimanapun, jika anda perlu menyokong versi lama Internet Explorer (iaitu 8 atau lebih awal), anda harus sedar bahawa pelayar ini tidak menyokong unit REM. Dalam kes ini, anda mungkin perlu menggunakan pelan sandaran piksel atau mempertimbangkan menggunakan unit EM, yang mempunyai sokongan penyemak imbas yang lebih luas.
unit rem dan em dapat meningkatkan kebolehcapaian laman web anda dengan memudahkan skala dan bertindak balas terhadap tetapan pengguna. Oleh kerana unit -unit ini adalah relatif, mereka membenarkan pengguna menyesuaikan saiz fon asas mengikut keutamaan mereka tanpa melanggar susun atur. Ini amat bermanfaat untuk pengguna cacat penglihatan yang mungkin perlu meningkatkan saiz fon untuk kebolehbacaan yang lebih besar.
Amalan terbaik adalah menggunakan unit REM untuk menentukan saiz fon, margin, dan padding untuk memastikan konsistensi di seluruh laman web. Anda boleh menggunakan unit EM untuk unsur-unsur yang perlu diperkuat dengan elemen induk mereka, seperti menu drop-down atau tooltips. Ia juga merupakan idea yang baik untuk menentukan saiz fon penanda aras sebagai peratusan pada elemen HTML, yang membolehkan pengguna menyesuaikan saiz fon penanda aras mengikut keutamaan mereka.
unit rem dan em boleh digunakan dalam pertanyaan media seperti mana -mana unit lain. Walau bagaimanapun, kerana unit -unit ini adalah relatif, mereka boleh membuat pertanyaan media anda lebih fleksibel dan responsif. Sebagai contoh, jika anda menentukan titik putus menggunakan unit EM, mereka akan skala dengan saiz fon asas, yang membolehkan susun atur anda menyesuaikan diri dengan tetapan pengguna.
Ya, unit REM dan EM boleh digunakan untuk sebarang definisi saiz dalam CSS, bukan hanya teks. Ini termasuk lebar, ketinggian, mengisi, margin, lebar sempadan, dan juga kedudukan. Menggunakan unit REM dan EM untuk sifat -sifat ini boleh menjadikan susun atur anda lebih fleksibel dan responsif.
Elemen bersarang boleh menjadi cabaran apabila menggunakan unit EM kerana saiznya akan dikompaun. Salah satu cara untuk menangani ini adalah untuk menetapkan semula saiz fon elemen bersarang kepada 1EM, yang akan menjadikannya sama dengan saiz fon elemen induknya. Sebagai alternatif, anda boleh menggunakan unit REM untuk elemen bersarang untuk memastikan konsistensi dalam saiz semula.
Atas ialah kandungan terperinci Atoz CSS Tip Pantas: Manfaat REM dan EM Nilai. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!