Alfa kanallı bir rengin onaltılık gösterimi?


117

Bir rengin (alfa kanalı dahil) onaltılık formatta nasıl temsil edileceğine dair bir W3 veya başka bir kayda değer standart var mı?

#RGBA mı yoksa #ARGB mi?


8
CSS Renk Düzeyi 4 kaynağında geliyor (dördüncü madde işaretine bakın)
Šime Vidas

@ ŠimeVidas eğer bunu bir cevaba koysaydın, sana oy verirdim.
Ciro Santilli 郝海东 冠状 病 六四 事件 法轮功

@cirosantilli Temsilciye ihtiyacım varmış gibi mi görünüyorum? :-P
Šime Vidas

1
@ ŠimeVidas lol, biraz paylaşmak isterseniz o zaman ... =)
Ciro Santilli 郝海东 冠状 病 六四 事件 法轮功

Bununla ilgili benzer bir CSS'ye özgü soru var: CSS onaltılık RGBA?
James Donnelly

Yanıtlar:


82

CSS 3'te, spesifikasyondan alıntı yapmak gerekirse, "RGBA değeri için onaltılık gösterim yoktur" ( CSS Seviye 3 spesifikasyonuna bakın ). Bunun yerine ondalık sayılar veya yüzdeler ile rgba () işlevsel gösterimini kullanabilirsiniz, örneğin rgba (255, 0, 0, 0.5)% 50 şeffaf kırmızı olacaktır. RGB kanalları 0-255 veya% 0-% 100, alfa 0-1'dir.

CSS 4 * 'te, alfa kanalını 8 basamaklı bir onaltılık rengin 7. ve 8. karakterlerini veya 4 basamaklı bir onaltılık rengin 4. karakterini kullanarak belirtebilirsiniz (bkz. CSS Seviye 4 özellikleri *)

Mayıs 2019 itibarıyla, kullanıcıların% 80'inden fazlasının #RGBA biçimini anlaması beklenebilir

  • Firefox bu sözdizimini Firefox 49'dan beri desteklemektedir ( Mozilla bug 567283 ).
  • Safari, Safari 10'dan beri bu sözdizimini desteklemektedir.
  • Chrome, Chrome 62'den beri bu sözdizimini desteklemektedir. Önceki sürümlerde, bu sözdizimini kullanmak için deneysel web özelliklerini etkinleştirebilirsiniz. Bkz Krom Sorunu 618.472 ve Webkit hata 150.853 .
  • Android P veya daha yenisini hedefleyen Android Uygulamaları bu sözdizimini kullanabilir
  • Opera bu sözdizimini Opera 52'de (veya deneysel web özellikleri etkinleştirildiğinde Opera 39'da) destekler.
  • IE 11 ve EdgeHTML 18 (Edge 44) bu sözdizimini desteklemez. Edge'in Chromium tabanlı sürümleri bu sözdizimini destekleyecektir.

Güncel tarayıcı destek bilgileri CanIUse.com adresinde mevcuttur

* Teknik olarak hala taslak halindedir, ancak tarayıcı desteği göz önüne alındığında bunun değiştirilmesi olası değildir.


2
Şu an itibariyle Mozilla (Firefox 49) #RRGGBBAA ve #RGBA'yı destekliyor gibi görünüyor
Shiyaz

92

Görünüşe göre onaltılık alfa formatı yok: http://www.w3.org/TR/css3-color/

Her neyse, SASS gibi bir CSS ön işlemcisi kullanırsanız, o zaman bir onaltılık veriyi rgbaarka plana aktarabilirsiniz :

rgba(#000, 0.5);

Ve önişlemci onaltılık kodu otomatik olarak rgb'ye dönüştürür.


15

Resmi bir standart olup olmadığından emin değilim.

RGBA, Web Macromedia için gördüğüm temsil ve diğerleri ARGB kullanıyor

RGBA'nın daha yaygın bir temsil olduğuna inanıyorum.

Yardımcı olacaksa, CSS3 için W3'ten
http://www.w3.org/TR/css3-color/#rgba-color

DÜZENLE (Patrick): yukarıdaki W3 bağlantısından alıntı

RGB değerlerinin aksine, RGBA değeri için onaltılı gösterim yoktur.


2
Ayrıca, renkleri alfalarla belirtmek için CSS işlevi rgba'dır ()
Amber,

8
gönderdiğiniz W3 bağlantısından: RGB değerlerinden farklı olarak, RGBA değeri için onaltılı gösterim yoktur.
Patrick Klug

2
Daha önce # RGB, A görmüştüm. Tuhaf.
Joshua

Android drawables için ARGB gibi görünüyor: developer.android.com/reference/android/graphics/drawable/…
Derek Kurth

10

Chrome 52+ , alfa hex'i destekler :

background: #56ff0077;

Daha eski tarayıcılar için şunları kullanmanız gerekecek:

background-color: rgba(255, 220, 0, 0.3);

3
Hayır, deneysel web özelliklerini etkinleştirmedikçe, çünkü Android'de sorunlara neden oluyordu. Tarayıcı desteği ayrıntıları için yukarıdaki cevabıma bakın.
thelem

3

RGB değerini almak için onaltılık rengi GIMP veya fotoğraf mağazasının renk seçicisine koymayı ve ardından alfa değerini kullanmayı deneyebilirsiniz. Örneğin. kırmızı #FF0000veya rgb(255,0,0) .5 alfa değerine sahip kırmızı istiyorsanız o zaman rgba(255,0,0,.5).

Belki tam olarak istediğin şey değil ama umarım yardımcı olur.


1
Bu reddedildi, bu biraz sert görünüyor. Sorulan soruyu yanıtlamıyor, ancak soru neden bilmek istediklerini söylemiyor. CSS'de sadece bir RGBA rengi kullanmak istiyorlarsa, bu cevap doğrudur.
thelem
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.