2012-03-21 13 views
32

Olası Çoğalt:
Are there any good reasons for using hex over decimal for RGB colour values in CSS?CSS - rengin RGB veya HEX

bir CSS stil sayfalarında renkler için RGB veya HEX kullanmalı mıyım?

Biri diğerinden daha çok tercih edilirse, neden?

Ben çoğunlukla RGB veya HEX kullanması gerekip gerekmediğini kişisel zevk meselesi olduğuna inanıyoruz platformları/tarayıcıları vb

+4

Olası kopyası: http://stackoverflow.com/questions/1171422/are-there-any-good-reasons-for-using-hex-over-decimal-for-rgb-colour-values-in-c http://stackoverflow.com/questions/2054520/it-is-recommendable-to-type-the-colors-name-instead-of-its-hex-value-in-css – Zeta

+0

Onaltılık yazım daha hızlıdır. tahmin et ama rgb'nin çok daha fazla renk kombinasyonu var. – Ben

+3

@Ben Bu şekilde rgb'nin daha fazla kombinasyona sahip olduğu anlamına mı geliyor? Hex ve RGB, sRGB renk alanındaki bir noktayı ifade eder. Hex ve RGB aynı şeyin sadece iki farklı gösterimi. [Renk üzerinde CSS özellikleri] (http://dev.w3.org/csswg/css-color/#color-type) –

cevap

18

arasında gelecekte prova, işleme hızı, daha iyi uyumluluk için bir fark var mı. Kişisel olarak HEX kullanıyorum çünkü daha kullanışlı geliyor - kodu okurken daha kolay taramak ve tercih ettiğiniz görüntü editöründen kopyalamak daha kolaydır. Ayrıca beyaz (#fff), siyah (# 000) gibi renkler için size birkaç baytlık tasarruf sağlayabilir (çok fazla fark yaratmayacaktır). Sonunda, aynı şeyin sadece iki farklı temsili ve performans açısından bakıldığında bunun önemli olduğunu düşünmüyorum. En azından performansı artırmak için yapabileceğiniz, performans üzerinde daha büyük bir etkiye sahip olacak pek çok şey vardır.

8

Genellikle, RGB'yi grafiksel editörden doğrudan (bir metin alanından) kopyalayabilirsiniz (RGB değerleri genellikle üç ayrı metin alanıyla temsil edilir). Bu yüzden onaltılık değerler günlük kullanım için en az daha kolaydır.

Maalesef şu anda CSSWG altıgen gösterimde yoluyla RGBA değerlerini belirlemek için bir way specced henüz beri rgba() işlevinde RGB notasyonu kullanmak zorunda, ama biz alfa gerekmiyorsa hiçbir şey işlevsel (rgb()) notasyonu kullanmak bizi zorlar edilir şeffaflık.

güncelle: 8 haneli on altılı notasyonu #RRGGBBAA ve #RGBA; CSS Color Module Level 4taslak specced ve Firefox 49 uygulanır (. E. & Thinsp gr #00ffaa80rgba(0, 255, 170, .5) eşdeğerdir). Ne yazık ki, Chromium ve WebKit gibi diğer motorlar için yamalar varken, Gecko tabanlı olmayan tüm tarayıcıların sabit sürümleri aslında bu özelliği desteklemiyor (WebKit, resmi olarak 2015-11-04'ten beri uygulandı, ancak aslında özellik en azından Safari 9.1 ve iOS 8.3'de mevcut değildir, bu yüzden Firefox şu anda mevcut olan tek uygulamadır ve Firefox eklentilerinde kullanılabilse de bu gösterim henüz vahşi olarak kullanılamaz.

1

Cihazlar için (VGA vb.) -> RGBA değerlerini kullanırsanız, aksi halde HEX HSL ve hemen hemen her şey çalışır.

2

HEX, bir kuruluş hizmeti için kararlıdır. Bakımı kolaydır (önişlemci ve çalışma platformu) ve birçok tarayıcı desteklenir.

Ancak, isterseniz renk adı kötü değil. Renk paletinden seçim yapmak eğlenceli ve birçok renk zaten tanımlanmış.

Ve bu yüzden, bu bir ek. Şimdi özel deneysel web sitesindeki HLSA renk desenini kullanıyorum. Ayrıca yeni CSS3 taslağı ile ilginiz varsa: http://www.w3.org/TR/css3-color/. Doğa fenomeninin renk kuralını biliyorsanız çok sezgisel.

İlgili konular