CSS'de yazı tiplerinin boyutunu ayarlarken, yüzde değeri ( %
) em
mi kullanmalıyım? Avantajı açıklayabilir misin?
CSS'de yazı tiplerinin boyutunu ayarlarken, yüzde değeri ( %
) em
mi kullanmalıyım? Avantajı açıklayabilir misin?
Yanıtlar:
A List Apart'ta web tipografisi hakkında gerçekten güzel bir makale var .
Sonuç:
Metni ve satır yüksekliğini, gövdede belirtilen bir yüzdeyle (ve Safari 2 için isteğe bağlı bir uyarı) boyutlandırmanın, bugün yaygın olarak kullanılan tüm tarayıcılarda doğru, yeniden boyutlandırılabilir metin sağladığı gösterildi. Bu, kit çantanıza koyabileceğiniz ve hem tasarımcıları hem de okuyucuları tatmin eden CSS'deki metni boyutlandırmak için en iyi uygulama olarak kullanabileceğiniz bir tekniktir.
line-heights
daha iyi yazılır . Buna şartname izin veriyor ve satır yükseklikleri söz konusu olduğunda, gerçekten sinir bozucu bazı tarayıcı tuhaflıklarını tamamen ortadan em
1
. Örneğin, iPhone 4'ün fiziksel ekran genişliği 640px'dir, ancak 320 "CSS" pikseli olarak görünür (DPR = 2). Yani web sitesi daha küçük görünmüyor!
Http://archivist.incutio.com/viewlist/css-discuss/1408 adresinden
%: Bazı tarayıcılar yazı tipi boyutu yüzdesini işlemez ancak% 150'yi 150px olarak yorumlar. (Örneğin, bazı NN4 sürümleri.) IE'nin iç içe geçmiş elemanlarda da yüzde ile sorunları var. Görünüşe göre IE, ana öğeye göre değil, görüntü alanına göre yüzde kullanıyor. Yine başka bir sorun (W3C özelliklerine göre doğru olsa da), Moz / Ns6'da, yüksekliği / genişliği belirtilmemiş elemanlara göre yüzde kullanamazsınız.
em: Bazen tarayıcılar yanlış referans boyutunu kullanır, ancak ilgili birimler arasında en az sorunlu olanıdır. Yine de bazen piksel olarak yorumlandığını görebilirsiniz.
pt: Çözünürlükler arasında büyük ölçüde farklılık gösterir ve görüntüleme için kullanılmamalıdır. Yine de baskı kullanımı için oldukça güvenlidir.
px: Ekrandaki tek güvenilir mutlak birim. Baskıda yanlış yorumlanabilir, çünkü bir nokta genellikle birkaç pikselden oluşur ve bu nedenle her şey gülünç derecede küçülür.
Her ikisi de yazı tipi boyutunu eskisine göre ayarlar. 1.5em% 150 ile aynıdır. Tek avantaj okunabilirlik gibi görünüyor, hangisini en rahat ediyorsanız seçin.
Yazı tipi boyutları için kullanmadığınızda asıl fark ortaya çıkıyor. Bir ayarlama padding
ait 1em
aynı değildir 100%
. em
her zaman yazı tipi boyutuna bağlıdır. Ama %
yazı tipi boyutu, genişliği, yüksekliği ve muhtemelen bilmediğim diğer şeylerle ilgili olabilir.
(Neredeyse?) Tüm tarayıcılar artık, tıpkı Metin yerine, bir bütün olarak önceki sorunları sayfasını yeniden boyutlandırmak göz önüne alındığında px
vs %
vsem
erişilebilir yazı yeniden boyutlandırma açısından ler oldukça tartışma vardır.
Yani cevap, muhtemelen önemli olmadığıdır. Size uygun olanı kullanın.
%
güzeldir çünkü göreli yeniden boyutlandırmaya izin verir.
px
güzel çünkü kullanırken beklentileri yönetmek oldukça kolaydır.
em
metin boyutuyla ilgili orantılı boyutlandırmaya izin verebileceğinden, mizanpaj öğeleri için de kullanıldığında yararlı olabilir.
em
, örneğin. Bunun yanı sıra, SO ile ilgili yanıtların zamandan bağımsız olmaya çalışması gerektiğini düşünüyorum - sonuçta bu bir bilgi tabanı. Programlama Wikipedia :) Wikipedia gerçekleri yansıtacak şekilde güncellendiğinden, benim mütevazı görüşüme göre SO yanıtları da aynı şekilde olmalıdır.
Css birimleri arasındaki farkla ilgili olarak %
ve em
.
Bildiğim kadarıyla anladığım kadarıyla bu iki ünite yani çarpma senin eğer eşdeğerdir (teorik / kavramsal, ama muhtemelen bu iki ünite tarayıcılarda uygulanabileceği değil nasıl en az) em
ile değer 100
ve sonra değiştirin em
ile%
bunun aynı şey olmalıdır?
Em ve% arasında gerçekten gerçek bir fark varsa, o zaman birisi bunu açıklayabilir (veya bir açıklamaya bağlantı sağlayabilir)?
(Bu "Liam, answered Sep 25 '08 at 11:21"
yorumumu ait olduğu yere eklemek istedim, yani cevabın hemen altına girintili olarak cevabının neden olumsuz oy verildiğini de bilmek istiyorum, ancak yorumumu oraya nasıl koyacağımı bilemedim ve bu nedenle yazmak zorunda kaldım bu "konu genel" yanıtı)
Galwegian'ın da belirttiği gibi px, web tipografisi için en güvenilir olanıdır, çünkü sayfada yaptığınız diğer her şey çoğunlukla bir bilgisayar monitörüne referansla düzenlenmiştir. Mutlak boyutlarla ilgili sorun, bazı tarayıcıların (IE) bir web sayfasındaki piksel değeri öğelerini ölçeklendirmemesidir, bu nedenle yakınlaştırmaya / uzaklaştırmaya çalıştığınızda , bu öğeler dışındaki her şey ayarlanır.
IE8'in bunu düzgün bir şekilde ele alıp almadığını bilmiyorum, ancak diğer tüm tarayıcı satıcıları pikselleri gayet iyi kullanıyor ve bu, kullanıcının metni büyütmesi / küçültmesi gereken bir azınlık durumu (SO'daki bu metin kutusu belki de istisnadır). Gerçekten kirlenmek istiyorsanız, metin boyutunuzu büyütmek için her zaman bir javascript işlevi ekleyebilir ve kullanıcıya "küçük" / "daha büyük" bir düğme sunabilirsiniz.
Yahoo Kullanıcı Arayüzü kitaplığı ( http://developer.yahoo.com/yui/ ), tarayıcıya özgü ayarları "sıfırlamak" için kullanılan güzel bir temel css sınıfları kümesine sahiptir, böylece siteyi görüntülemenin temeli herkes için aynıdır (desteklenen) tarayıcılar.
YUI ile birinin yüzdeleri kullanması gerekiyor.