Saya merancang situs web baru dan saya ingin agar kompatibel dengan sebanyak mungkin browser dan pengaturan browser. Saya mencoba memutuskan satuan pengukuran apa yang harus saya gunakan untuk ukuran font dan elemen saya, tetapi saya tidak dapat menemukan jawaban konklusif.
Pertanyaan saya adalah: apakah saya harus menggunakan px
atau rem
dalam CSS saya?
- Sejauh ini saya tahu bahwa menggunakan
px
tidak kompatibel dengan pengguna yang menyesuaikan ukuran font dasar mereka di browser mereka. - Saya telah mengabaikan
em
karena mereka lebih merepotkan untuk mempertahankan, dibandingkan denganrem
s, ketika mereka mengalir. - Ada yang mengatakan bahwa
rem
resolusi mandiri dan karenanya lebih diinginkan. Tetapi yang lain mengatakan bahwa sebagian besar browser modern memperbesar semua elemen secara merata, jadi menggunakanpx
bukanlah masalah.
Saya menanyakan hal ini karena ada banyak pendapat berbeda tentang ukuran jarak yang paling diinginkan dalam CSS, dan saya tidak yakin mana yang terbaik.
html
css
distance
units-of-measurement
TylerH
sumber
sumber
Jawaban:
TL; DR: gunakan
px
.Fakta
Pertama, sangat penting untuk mengetahui bahwa per spec ,
px
unit CSS tidak sama dengan satu piksel tampilan fisik. Ini selalu benar - bahkan dalam spesifikasi CSS 1 1996 .CSS mendefinisikan piksel referensi , yang mengukur ukuran piksel pada tampilan 96 dpi. Pada layar yang memiliki dpi jauh berbeda dari 96dpi (seperti tampilan Retina), agen pengguna mengubah ukuran
px
unit sehingga ukurannya cocok dengan piksel referensi. Dengan kata lain, pengubahan ukuran ini adalah persis mengapa 1 piksel CSS sama dengan 2 piksel tampilan Retina fisik.Yang mengatakan, hingga 2010 (dan meskipun situasi zoom mobile),
px
hampir selalu sama dengan satu pixel fisik, karena semua tampilan yang tersedia secara luas sekitar 96dpi.Ukuran yang ditentukan dalam
em
s relatif terhadap elemen induk . Ini mengarah padaem
"masalah penggabungan" di mana elemen bersarang menjadi semakin besar atau lebih kecil. Sebagai contoh:Memberi kami:
CSS3
rem
, yang selalu relatif hanya untukhtml
elemen root , sekarang didukung pada 96% dari semua browser yang digunakan .Opini
Saya pikir semua orang setuju bahwa itu baik untuk merancang halaman Anda untuk mengakomodasi semua orang, dan untuk membuat pertimbangan bagi tunanetra. Salah satu pertimbangan seperti itu (tetapi bukan satu-satunya!) Adalah memungkinkan pengguna untuk membuat teks situs Anda lebih besar, sehingga lebih mudah dibaca.
Pada awalnya, satu-satunya cara untuk memberikan pengguna cara untuk skala ukuran teks adalah dengan menggunakan unit ukuran relatif (seperti
em
s). Ini karena menu ukuran font browser hanya mengubah ukuran font root. Jadi, jika Anda menentukan ukuran fontpx
, mereka tidak akan skala saat mengubah opsi ukuran font browser.Peramban modern (dan bahkan IE7 yang tidak terlalu modern) semua mengubah metode penskalaan standar untuk hanya memperbesar segala sesuatu, termasuk gambar dan ukuran kotak. Pada dasarnya, mereka membuat piksel referensi lebih besar atau lebih kecil.
Ya, seseorang masih bisa berubah gaya default browser mereka untuk men-tweak ukuran font default (setara dengan gaya lama ukuran font pilihan), tapi itu cara yang sangat esoteris akan hal itu dan saya akan bertaruh tidak ada 1 melakukannya. (Di Chrome, itu terkubur di bawah pengaturan lanjutan, konten Web, Ukuran Font. Di IE9, ini bahkan lebih tersembunyi. Anda harus menekan Alt, dan pergi ke Lihat, Ukuran Teks.) Jauh lebih mudah untuk hanya memilih opsi Zoom di menu utama browser (atau gunakan Ctrl+ +/ -/ roda mouse).
1 - dalam kesalahan statistik, secara alami
Jika kami menganggap sebagian besar pengguna skala halaman menggunakan opsi zoom, saya menemukan unit relatif sebagian besar tidak relevan. Jauh lebih mudah untuk mengembangkan halaman Anda ketika semuanya ditentukan dalam unit yang sama (semua gambar ditangani dalam piksel), dan Anda tidak perlu khawatir tentang peracikan. ( "Saya diberi tahu bahwa tidak akan ada matematika" - ada yang berurusan dengan harus menghitung apa yang sebenarnya 1,5em berhasil.)
Satu masalah potensial lainnya dari penggunaan hanya unit relatif untuk ukuran font adalah font yang diubah ukuran pengguna dapat merusak asumsi tata letak yang Anda buat. Misalnya, ini dapat menyebabkan teks terpotong atau berjalan terlalu lama. Jika Anda menggunakan unit absolut, Anda tidak perlu khawatir tentang ukuran font yang tidak terduga dari melanggar tata letak Anda.
Jadi jawaban saya adalah menggunakan satuan pixel. Saya gunakan
px
untuk semuanya. Tentu saja, situasi Anda dapat bervariasi, dan jika Anda harus mendukung IE6 (semoga para dewa RFC mengasihani Anda), Anda harusem
tetap menggunakan s.sumber
Saya ingin memuji jawaban josh3736 untuk memberikan beberapa konteks sejarah yang sangat baik. Meskipun diartikulasikan dengan baik, lanskap CSS telah berubah dalam hampir lima tahun sejak pertanyaan ini diajukan. Ketika pertanyaan ini diajukan,
px
adalah jawaban yang benar, tetapi itu tidak berlaku lagi hari ini.tl; dr: gunakan
rem
Tinjauan Unit
px
Unit historis biasanya mewakili satu piksel perangkat. Dengan perangkat yang memiliki kerapatan piksel lebih tinggi dan lebih tinggi, ini tidak lagi berlaku untuk banyak perangkat, seperti dengan Tampilan Retina Apple.rem
unit mewakili r oot em ukuran. Ini adalahfont-size
pertandingan apa pun:root
. Dalam kasus HTML, itu adalah<html>
elemen; untuk SVG, itu adalah<svg>
elemen. Defaultfont-size
di setiap browser * adalah16px
.Pada saat penulisan,
rem
didukung oleh sekitar 98% pengguna . Jika Anda khawatir tentang 2% lainnya, saya akan mengingatkan Anda bahwa permintaan media juga didukung oleh sekitar 98% pengguna .Saat Menggunakan
px
Mayoritas contoh CSS di internet menggunakan
px
nilai karena mereka adalah standar de-facto.pt
,in
dan berbagai unit lainnya dapat digunakan secara teori, tetapi mereka tidak menangani nilai-nilai kecil dengan baik karena Anda harus cepat menggunakan fraksi, yang lebih lama untuk mengetik, dan lebih sulit untuk dipikirkan.Jika Anda ingin batas tipis, dengan
px
yang bisa Anda gunakan1px
, dengan yangpt
Anda perlukan0.75pt
untuk hasil yang konsisten, dan itu tidak nyaman.Saat Menggunakan
rem
rem
Nilai default16px
bukan argumen yang sangat kuat untuk penggunaannya. Menulis0.0625rem
adalah lebih buruk daripada menulis0.75pt
, jadi mengapa orang menggunakanrem
?Ada dua bagian yang
rem
lebih diuntungkan daripada unit lainnya.px
darirem
apa pun yang Anda inginkanMenghargai Preferensi Pengguna
Zoom browser telah banyak berubah selama bertahun-tahun. Secara historis banyak browser hanya akan meningkat
font-size
, tetapi itu berubah cukup cepat ketika situs web menyadari bahwa desain pixel-perfect mereka yang indah pecah setiap kali seseorang memperbesar atau memperkecil. Pada titik ini, peramban skala seluruh halaman, sehingga zoom berbasis font keluar dari gambar.Menghargai keinginan pengguna tidak lepas dari gambarannya. Hanya karena browser diatur
16px
secara default, tidak berarti pengguna mana pun tidak dapat mengubah preferensi mereka24px
atau32px
untuk mengoreksi low vision atau visibilitas yang buruk (ex screen glare). Jika Anda mendasarkan unit Andarem
, setiap pengguna dengan ukuran font yang lebih tinggi akan melihat situs yang lebih besar secara proporsional. Batas akan lebih besar, bantalan akan lebih besar, margin akan lebih besar, semuanya akan naik dengan lancar.Jika Anda mendasarkan permintaan media
rem
Anda, Anda juga dapat memastikan bahwa situs yang dilihat pengguna sesuai dengan layar mereka. Seorang pengguna denganfont-size
set untuk32px
pada640px
browser yang luas, efektif akan melihat situs Anda seperti yang ditunjukkan untuk pengguna di16px
pada320px
browser yang lebar. Sama sekali tidak ada kerugian bagi RWD dalam menggunakanrem
.Mengubah
px
Nilai Yang JelasKarena
rem
didasarkan padafont-size
satu:root
simpul, jika Anda ingin mengubah apa yang1rem
mewakili, yang harus Anda lakukan adalah mengubahfont-size
:Apa pun yang Anda lakukan, jangan setel
:root
elemenfont-size
kepx
nilai.Jika Anda mengatur
font-size
dihtml
sebuahpx
nilai, Anda terpesona preferensi pengguna tanpa cara untuk mendapatkan mereka kembali.Jika Anda ingin mengubah jelas nilai
rem
, penggunaan%
unit.Matematika untuk ini cukup mudah.
Ukuran font yang jelas
:root
adalah16px
, tetapi katakanlah kita ingin mengubahnya20px
. Yang perlu kita lakukan adalah mengalikan16
nilai yang didapat20
.Siapkan persamaan Anda:
Dan selesaikan untuk
X
:Melakukan segala sesuatu dalam kelipatan
20
tidak terlalu bagus, tetapi saran yang umum adalah membuat ukuran yang tampakrem
sama dengan10px
. Angka ajaib untuk itu adalah10/16
yang mana0.625
, atau62.5%
.Masalahnya sekarang adalah bahwa default Anda
font-size
untuk sisa halaman diatur terlalu kecil, tetapi ada perbaikan sederhana untuk itu: Setelfont-size
padabody
menggunakanrem
:Penting untuk dicatat, dengan penyesuaian ini di tempat, nilai nyata
rem
adalah10px
yang berarti nilai apa pun yang Anda tulispx
dapat dikonversi langsung kerem
dengan menabrak tempat desimal.berubah menjadi
Ukuran font yang Anda pilih terserah Anda, jadi jika Anda mau, tidak ada alasan Anda tidak dapat menggunakan:
dan memiliki yang
1rem
sama1px
.Jadi begitulah, solusi sederhana untuk menghormati keinginan pengguna sambil juga menghindari terlalu rumitnya CSS Anda.
Tunggu, jadi apa masalahnya?
Saya takut Anda mungkin bertanya itu.
rem
Meskipun saya ingin berpura-pura bahwa itu adalah sihir dan memecahkan segalanya, masih ada beberapa masalah yang perlu diperhatikan. Tidak ada yang melanggar kesepakatan menurut saya , tapi saya akan memanggil mereka sehingga Anda tidak bisa mengatakan saya tidak memperingatkan Anda.Kueri Media (gunakan
em
)Salah satu masalah pertama yang akan Anda hadapi
rem
adalah pertanyaan media. Pertimbangkan kode berikut:Di sini nilai
rem
perubahan tergantung pada apakah permintaan media berlaku, dan permintaan media tergantung pada nilairem
, jadi apa yang sedang terjadi?rem
dalam pertanyaan media menggunakan nilai awalfont-size
dan seharusnya tidak (lihat bagian Safari) memperhitungkan perubahan apa pun yang mungkin terjadifont-size
pada:root
elemen. Dengan kata lain, nilainya selalu terlihat16px
.Ini agak menjengkelkan, karena itu berarti Anda harus melakukan beberapa perhitungan fraksional, tetapi saya telah menemukan bahwa sebagian besar pertanyaan media sudah menggunakan nilai yang merupakan kelipatan 16.
Selain itu jika Anda menggunakan preprosesor CSS, Anda dapat menggunakan mixin atau variabel untuk mengelola kueri media Anda, yang akan menutupi masalah sepenuhnya.
SafariSayangnya ada bug yang diketahui dengan Safari di mana perubahan
:root
ukuran font benar-benar mengubah nilai yang dihitungrem
untuk rentang kueri media. Ini dapat menyebabkan beberapa perilaku yang sangat aneh jika ukuran font:root
elemen diubah dalam kueri media. Untungnya perbaikannya sederhana: gunakanem
unit untuk pertanyaan media .Pengalihan Konteks
Jika Anda beralih di antara berbagai proyek berbagai proyek, sangat mungkin ukuran font yang terlihat
rem
akan memiliki nilai yang berbeda. Dalam satu proyek, Anda mungkin menggunakan ukuran yang jelas10px
di mana dalam proyek lain ukurannya mungkin1px
. Ini bisa membingungkan dan menyebabkan masalah.Satu-satunya rekomendasi saya di sini adalah untuk tetap dengan
62.5%
mengkonversirem
ke ukuran yang jelas10px
, karena itu lebih umum dalam pengalaman saya.Pustaka CSS bersama
Jika Anda menulis CSS yang akan digunakan di situs yang tidak Anda kontrol, seperti untuk widget yang disematkan, benar-benar tidak ada cara yang baik untuk mengetahui ukuran apa yang tampak
rem
. Jika itu masalahnya, jangan ragu untuk tetap menggunakanpx
.Jika Anda masih ingin menggunakan
rem
, pertimbangkan untuk merilis versi Sass atau KURANG dari stylesheet dengan variabel untuk mengesampingkan penskalaan untuk ukuran yang jelasrem
.* Saya tidak ingin membuat orang lain takut menggunakan
rem
, tetapi saya belum dapat secara resmi mengkonfirmasi bahwa setiap browser menggunakan16px
secara default. Anda tahu, ada banyak browser dan tidak akan terlalu sulit bagi satu browser untuk menyimpang sedikit, katakanlah15px
atau18px
. Dalam pengujian, namun saya belum melihat satu contoh di mana browser menggunakan pengaturan default dalam sistem menggunakan pengaturan standar memiliki nilai selain16px
. Jika Anda menemukan contoh seperti itu, silakan bagikan dengan saya.sumber
matrix()
javascript yang menggunakan nilai-nilai matriks translatepx
(koreksi saya jika saya salah), dan saya sangat bingung dengan itu .getComputedStyle()
tetapi hasilnya selalu pada pixel, jadi saya harus membagi hasilnya denganrem
nilai (seperti 16). CMIIWrem
nilai, jika Anda sudah memiliki nilai yang benarpx
, tidak perlu beralih kerem
unit untuk hal-hal yang sudah dihitung untuk konteks yang diberikan.Artikel ini menjelaskan cukup baik pro dan kontra dari
px
,em
, danrem
.Penulis akhirnya menyimpulkan bahwa metode terbaik mungkin menggunakan keduanya
px
danrem
, mendeklarasikanpx
terlebih dahulu untuk peramban yang lebih lama dan mendeklarasikan ulangrem
untuk peramban yang lebih baru:sumber
px
. Adapun unit untuk elemen, menempelpx
akan lebih baik karena Anda biasanya ingin mengukur elemen dengan tepat.px
adalah untuk memungkinkan pengubahan ukuran. Sekarang jika kita menggunakanrem
, kita masih harus menyediakanpx
fallback (di browser lama). Pada dasarnya apa artinyapx
mengubah ukuran dukungan lebih baik daripadarem
. Browser yang lebih baru mendukungpx
pengubahan ukuran dan untuk browser yang lebih tua cara apa pun yang akan kita gunakan untuk mundurpx
. Sekarang berdasarkan pada kesimpulan ini, saya sangat tertarik untuk mengetahui, mengapa menggunakanrem
? Jika saya dapat melihat cahaya di ujung terowongan.Sebagai jawaban refleks, saya akan merekomendasikan menggunakan rem, karena memungkinkan Anda untuk mengubah "tingkat pembesaran" dari seluruh dokumen sekaligus, jika perlu. Dalam beberapa kasus, ketika Anda ingin ukuran relatif terhadap elemen induk, maka gunakan em.
Tetapi dukungan rem sangat buruk, IE8 membutuhkan polyfill, dan Webkit menunjukkan bug. Selain itu, penghitungan sub-piksel dapat menyebabkan hal-hal seperti satu garis piksel terkadang hilang. Obatnya adalah kode dalam piksel untuk elemen yang sangat kecil. Itu semakin menambah kerumitan.
Jadi, secara keseluruhan, tanyakan pada diri Anda apakah itu layak - seberapa penting dan mungkin Anda mengubah "tingkat pembesaran" dari seluruh dokumen dalam CSS?
Untuk beberapa kasus itu ya, untuk beberapa kasus itu tidak akan.
Jadi, itu tergantung pada kebutuhan Anda, dan Anda harus mempertimbangkan pro dan kontra, karena menggunakan rem dan em memperkenalkan beberapa pertimbangan tambahan dibandingkan dengan alur kerja berbasis pixel "normal".
Ingatlah bahwa mudah untuk mengganti (atau lebih tepatnya mengubah) CSS Anda dari px ke rem (JavaScript adalah cerita lain), karena dua blok kode CSS berikut akan menghasilkan hasil yang sama:
sumber
Ya, REM dan PX adalah relatif namun jawaban lain menyarankan untuk menggunakan REM daripada PX, saya juga ingin mencadangkannya menggunakan contoh aksesibilitas.
Ketika pengguna mengatur ukuran font yang berbeda pada browser, REM secara otomatis memperbesar dan memperkecil elemen-elemen seperti font, gambar dll pada halaman web yang tidak terjadi pada PX.
Di bawah ini gif teks sisi kiri diatur menggunakan unit ukuran font REM sedangkan font sisi kanan diatur oleh unit PX.
Ukuran font default dari sebuah halaman web adalah 16px yang sama dengan 1 rem (hanya untuk halaman html standar yaitu
html{font-size:100%}
), jadi, 1,25rem sama dengan 20px.PS: siapa lagi yang menggunakan REM? Kerangka CSS! seperti Bootstrap 4, Bulma CSS dll, jadi lebih baik bergaul dengannya.
sumber
Jawaban josh3736 adalah jawaban yang bagus, tetapi untuk memberikan tandingan 3 tahun kemudian:
Saya sarankan menggunakan
rem
unit untuk font, jika hanya karena itu memudahkan Anda , pengembang, untuk mengubah ukuran. Memang benar bahwa pengguna sangat jarang mengubah ukuran font default di browser mereka, dan bahwa zoom browser modern akan meningkatkanpx
unit. Tetapi bagaimana jika bos Anda mendatangi Anda dan berkata "jangan perbesar gambar atau ikonnya, tapi buat semua font lebih besar" Jauh lebih mudah untuk hanya mengubah ukuran font root dan membiarkan semua skala font lain relatif terhadap itu, kemudian mengubahpx
ukuran dalam lusinan atau ratusan aturan css.Saya pikir masih masuk akal untuk menggunakan
px
unit untuk beberapa gambar, atau untuk elemen tata letak tertentu yang harus selalu memiliki ukuran yang sama terlepas dari skala desain.Caniuse.com mungkin mengatakan bahwa hanya 75% browser ketika josh3736 memposting jawabannya di 2012, tetapi pada 27 Maret mereka mengklaim 93,78% dukungan . Hanya IE8 yang tidak mendukungnya di antara peramban yang mereka lacak.
sumber
Only IE8 doesn't support it among the browsers they track.
Hah? Halaman yang ditautkan menyatakan bahwa “IE9 & IE10 tidak mendukung unit rem ketika digunakan dalam properti font steno atau ketika digunakan pada elemen pseudo. IE9, 10 & 11 tidak mendukung unit rem ketika digunakan dalam properti line-height ketika digunakan pada: sebelum dan: setelah elemen pseudo. Perbatasan pada rem menghilang ketika halaman diperbesar dalam Chrome. Tidak berfungsi di peramban Samsung Note II Android 4.3 & Samsung Galaxy Tab 2 di Android 4.2. Chrome 31-34 & Android berbasis Chrome (seperti 4.4) memiliki bug ukuran font yang terjadi ketika elemen root memiliki ukuran berbasis persentase. "as of March 27 they claim 93.78% support.
Pada saat menulis komentar ini, caniuse hanya menunjukkan 91,79% dukungan browser penuh. Melihat persentase Anda, saya cukup yakin Anda menyertakan dukungan browser buggy juga (saat ini di 2,8%, yang dapat ditafsirkan sebagai cakupan keseluruhan 94,6% optimis - tetapi kenyataannya adalah bahwa 2,8% datang dengan kereta, tidak lengkap atau bahkan sepenuhnya gagal dukungan ... seperti yang tercantum dalam komentar saya sebelumnya: setiap bug menjadi hasil dari browser versi yang berbeda dan operasi kombinasi sistem) Anda mungkin ingin memperbaiki jawaban Anda sesuai ....Saya telah menemukan cara terbaik untuk memprogram ukuran font suatu situs web adalah dengan menentukan ukuran font dasar untuk
body
dan kemudian menggunakan em (atau rem) untuk setiap lainnya yangfont-size
saya nyatakan setelah itu. Itu preferensi pribadi saya kira, tetapi itu melayani saya dengan baik dan juga membuatnya sangat mudah untuk memasukkan desain yang lebih responsif .Sejauh menggunakan unit rem, saya pikir itu baik untuk menemukan keseimbangan antara menjadi progresif dalam kode Anda, tetapi juga menawarkan dukungan untuk browser yang lebih lama. Lihat tautan ini tentang dukungan peramban untuk unit rem , yang seharusnya membantu jumlah yang baik pada keputusan Anda.
sumber
body
ukuran font dan semuanya berubah dengannya.pt
mirip denganrem
, dalam hal ini relatif tetap, tetapi hampir selalu DPI-independen, bahkan ketika browser yang tidak patuh memperlakukanpx
dengan cara yang tergantung pada perangkat.rem
bervariasi dengan ukuran font elemen root, tetapi Anda dapat menggunakan sesuatu seperti Sass / Kompas untuk melakukan ini secara otomatispt
.Jika Anda punya ini:
maka
1rem
akan selalu demikian12pt
.rem
danem
hanya bergantung pada perangkat seperti elemen yang menjadi sandarannya; beberapa browser tidak berperilaku sesuai dengan spesifikasi, dan memperlakukanpx
secara harfiah. Bahkan di masa lalu Web, 1 poin secara konsisten dianggap 1/72 inci - artinya, ada 72 poin dalam satu inci.Jika Anda memiliki browser lama yang tidak memenuhi syarat, dan Anda memiliki:
maka
1rem
akan tergantung pada perangkat. Untuk elemen yang akan mewarisi darihtml
secara default,1em
juga akan tergantung pada perangkat.12pt
akan menjadi setara perangkat- semoga dijamin:: di16px / 96px * 72pt = 12pt
mana96px = 72pt = 1in
.Menghitung matematika bisa sangat rumit jika Anda ingin tetap menggunakan unit tertentu. Misalnya
.75em of html = .75rem = 9pt
,, dan.66em of .75em of html = .5rem = 6pt
. Aturan praktis yang baik:pt
untuk ukuran absolut. Jika Anda benar-benar membutuhkan ini untuk menjadi relatif dinamis terhadap elemen root, Anda meminta terlalu banyak CSS; Anda memerlukan bahasa yang dapat dikompilasi ke CSS, seperti Sass / SCSS.em
untuk ukuran relatif. Cukup mudah untuk dapat mengatakan, "Saya ingin margin di sebelah kiri sekitar lebar maksimum huruf," atau, "Buat teks elemen ini sedikit lebih besar dari sekelilingnya."<h1>
adalah elemen yang baik untuk menggunakan ukuran font di ems, karena mungkin muncul di berbagai tempat, tetapi harus selalu lebih besar dari teks di dekatnya. Dengan cara ini, Anda tidak perlu memiliki ukuran font terpisah untuk setiap kelas yang diterapkanh1
: ukuran font akan beradaptasi secara otomatis.px
untuk ukuran yang sangat kecil. Pada ukuran yang sangat kecil,pt
bisa menjadi buram di beberapa browser pada 96 DPI, karenapt
danpx
tidak cukup berbaris. Jika Anda hanya ingin membuat batas tipis satu piksel, katakan demikian. Jika Anda memiliki tampilan DPI tinggi, ini tidak akan terlihat jelas bagi Anda selama pengujian, jadi pastikan untuk menguji pada tampilan generik 96-DPI di beberapa titik.sumber
Setengah (tetapi hanya setengah) jawaban yang snarky (setengah lainnya adalah penghinaan terhadap realitas birokrasi):
Gunakan vh
Semuanya selalu berukuran ke jendela browser.
Selalu izinkan gulir ke bawah, jangan ke samping.
Setel lebar badan menjadi 50vh statis, dan tidak ada yang mengapung atau keluar dari div induk. Dan gaya hanya menggunakan meja sehingga semuanya dipegang dengan kaku pada tempatnya seperti yang diharapkan. Sertakan fungsi javascript untuk membatalkan aktivitas ctrl +/- yang dilakukan pengguna.
Semua orang akan membenci Anda kecuali orang-orang yang memberi tahu Anda untuk membuat hal-hal yang sesuai dengan mock-up mereka, dan mereka akan senang. Dan semua orang tahu pendapat mereka adalah satu-satunya yang penting.
sumber
Iya. Atau, lebih tepatnya, tidak.
Eh, maksudku, itu tidak masalah. Gunakan yang masuk akal untuk proyek khusus Anda. PX dan EM atau keduanya sama-sama valid tetapi akan berperilaku sedikit berbeda tergantung pada arsitektur CSS keseluruhan halaman Anda.
MEMPERBARUI:
Untuk memperjelas, saya menyatakan bahwa biasanya tidak masalah yang Anda gunakan. Terkadang, Anda mungkin secara khusus ingin memilih satu di atas yang lain. EM bagus jika Anda bisa mulai dari awal dan ingin menggunakan ukuran font dasar dan membuat segalanya relatif terhadap itu.
PX sering diperlukan ketika Anda sedang memasang kembali desain ulang ke basis kode yang ada dan membutuhkan kekhususan px untuk mencegah masalah bersarang yang buruk.
sumber
mereka adalah jalan ke depan, tidak hanya untuk font tetapi Anda dapat menggunakannya dengan kotak, ketebalan garis dan hal-hal lain juga, mengapa?
Sederhananya mereka adalah satu-satunya yang skala bersamaan dengan tombol alt + dan di browser untuk zoom.
Skala pengukuran lainnya, tetapi tidak sebersih em.
Selain itu, jika Anda menginginkan penskalaan terbaik, konversikan grafik Anda ke SVG berbasis vektor jika memungkinkan juga karena ini juga akan berskala bersih dengan rasio zoom browser.
sumber
EM adalah HANYA hal yang menskala untuk kueri media yang menangani skala +/-, yang dilakukan orang sepanjang waktu, bukan hanya orang buta. Inilah demonstrasi profesional lain yang ditulis dengan sangat baik tentang mengapa ini penting.
Omong-omong, inilah sebabnya Zurb Foundation menggunakan ems , sedangkan Bootstrap 3 yang lebih rendah masih menggunakan piksel.
sumber