(Jangan bingung dengan Xunit , pustaka pengujian unit .Net yang populer.)
Hari ini karena bosan saya mulai memeriksa DOM Gmails (ya, saya sangat bosan).
Semuanya terlihat cukup jelas sampai saya melihat spesifikasi yang menarik pada lebar elemen tertentu. Googlite termasyhur telah menentukan sejumlah kolom tabel menggunakan unit 'ex' yang langka.
width: 22ex;
Awalnya saya bingung ("apa itu 'mantan'?"), Lalu kembali lagi kepada saya: Sepertinya saya mengingat sesuatu dari beberapa tahun yang lalu ketika pertama kali saya belajar tentang CSS. Dari spesifikasi CSS3 :
[ Satuan ex adalah] sama dengan tinggi x yang digunakan dari font pertama yang tersedia . Tinggi x disebut demikian karena sering kali sama dengan tinggi huruf kecil "x". Namun, 'ex' didefinisikan bahkan untuk font yang tidak mengandung "x".
Baik dan bagus. Tapi saya belum pernah benar-benar melihatnya digunakan sebelumnya (apalagi menggunakannya sendiri). Saya cukup sering menggunakan ems, dan menghargai nilainya, tetapi mengapa "ex"? Tampaknya pengukuran yang jauh lebih standar daripada em, dan jauh kurang berguna.
Salah satu dari sedikit halaman yang saya temukan membahas topik ini adalah http://www.xs4all.nl/~sbpoley/webmatters/emex.html Stephen Poley . Stephen membuat poin bagus, bagaimanapun, pembahasannya tampaknya tidak meyakinkan bagi saya.
Jadi pertanyaan saya adalah: Nilai apa yang diberikan unit 'ex' untuk desain web?
(Pertanyaan ini dapat ditandai subjektif, tetapi saya akan menyerahkan keputusan itu kepada SO'ers yang lebih berpengalaman daripada saya sendiri.)
em
satuan tidak tidak mengukur lebar - itu mengukur ketinggian font.1 em
adalah dihitungfont-size
nilai , danfont-size
menspesifikasikan “ketinggian yang diinginkan dari mesin terbang” . Jadi keduanyaem
danex
ukur ketinggian. (ch
Namun, memang mengukur lebar.)Untuk menjawab pertanyaan tersebut, salah satu kegunaannya adalah dengan superskrip dan subskrip. Contoh:
sup { font-size: 75%; height: 0; line-height: 0; position: relative; vertical-align: baseline; bottom: 1ex; }
sumber
Hal lain yang perlu dipertimbangkan di sini adalah bagaimana skala halaman Anda ketika pengguna menaikkan atau menurunkan ukuran font mereka (mungkin menggunakan ctrl + roda mouse (windows)).
Saya telah menggunakan em dengan .. padding-left: 2 em; padding-right: 2 em;
dan ex dengan padding-bottom: 2 ex; padding-top: 2 ex;
Jadi, menggunakan satuan ukuran vertikal untuk properti penskalaan vertikal dan satuan ukuran horizontal untuk properti penskalaan horizontal.
sumber
ch
adalah unit horizontal yang mengukur lebar angka nol ("0").Nilai memilikinya dalam spesifikasi CSS, jika itu yang sebenarnya Anda tanyakan, sama persis dengan nilai memiliki unit em.
Ini memungkinkan Anda untuk mengatur font ke ukuran relatif .
Anda tidak tahu apa ukuran font dasar saya. Jadi salah satu strategi yang baik untuk desain web adalah mengatur ukuran font yang relatif, bukan absolut; setara dengan "gandakan ukuran normal Anda" atau "sedikit lebih kecil dari ukuran normal Anda" daripada ukuran tetap seperti "sepuluh piksel".
sumber
ex
tampaknya setara.M
. Tapi CSS disempurnakanem
. Lihat Wikipedia .ch
satuan seperti yang disebutkan di jawaban lain.Perhatikan bahwa, istilah seperti "spasi baris tunggal / ganda" sebenarnya berarti offset antara dua garis yang berdekatan, diukur dengan em . Jadi "spasi baris ganda" berarti setiap baris memiliki tinggi 2 em .
Oleh karena itu, jika Anda ingin menentukan jarak vertikal yang sebanding dengan "garis", gunakan em. Gunakan ex hanya jika Anda menginginkan tinggi sebenarnya dari huruf kecil, yang, menurut saya, adalah contoh yang jauh lebih jarang.
UPDATE: Standar web memungkinkan browser untuk menggunakan 0.5em sebagai ex atau berasal dari font.
Namun, tidak ada cara yang andal untuk menyematkan informasi "x-height" apa pun dalam font (OpenType atau webfont).
Oleh karena itu, kemungkinan pertama membuat mantan unit menjadi mubazir, dan yang terakhir tidak memiliki sarana yang dapat diandalkan untuk mewujudkannya. Dan fakta bahwa keduanya mungkin membuatnya semakin tidak dapat diandalkan.
Jadi saya berdebat karena kurangnya nilai dari ex-unit.
sumber