CSS Renk Modülü Seviye 4 muhtemelen 4 ve 8 basamaklı onaltılık RGBA gösterimini destekleyecektir!
Üç hafta önce (18 Aralık 2014) CSS Renk Modülü 4. Seviye editörünün taslağı CSS W3C Çalışma Grubuna sunuldu. Değişime son derece duyarlı bir durumda olsa da, belgenin mevcut sürümü biraz daha yakın gelecekte CSS'nin hem 4 hem de 8 basamaklı onaltılık RGBA gösterimini destekleyeceğini ima eder .
Not: Aşağıdaki alıntıda alakasız parçalar kesilmiş ve kaynak bunu okuduğunuz zamana göre büyük ölçüde değiştirilmiş olabilir (yukarıda belirtildiği gibi, kesinleşmiş bir belge değil, bir editörün taslağıdır).
İşler büyük ölçüde değiştiyse, lütfen bu yanıtı güncelleyebilmem için bana bildiren bir yorum bırakın!
§ 4.2. RGB onaltılık gösterimleri: #RRGGBB
A sözdizimi , değeri 3, 4, 6 veya 8 onaltılık basamaktan oluşan<hex-color>
bir <hash-token>
simgedir . Başka bir deyişle, onaltılık renk karma karakter olarak "#" yazılır, ardından bir dizi rakam veya harf gelir ( harflerin durumu önemli değildir - aynıdır ).0-9
a-f
#00ff00
#00FF00
8 basamak
İlk 6 hane, 6 haneli gösterimle aynı şekilde yorumlanır. Onaltılı sayı olarak yorumlanan son basamak çifti rengin alfa kanalını belirtir, burada 00
tamamen saydam bir rengi ff
temsil eder ve tamamen opak bir rengi temsil eder.
Örnek 3
Başka bir deyişle, (biraz saydam mavi) ile #0000ffcc
aynı rengi temsil eder rgba(0, 0, 100%, 80%)
.
4 hane
Bu, 8 basamaklı gösterimin daha kısa bir çeşididir, 3 basamaklı gösterimle aynı şekilde "genişletilmiş". Onaltılı sayı olarak yorumlanan ilk basamak, rengin kırmızı kanalını belirtir; burada 0
minimum değeri ve f
maksimum değeri temsil eder. Sonraki üç basamak sırasıyla yeşil, mavi ve alfa kanallarını temsil eder.
Bu, CSS renklerinin geleceği için ne anlama geliyor?
Bu, Düzey 4 belgesinden tamamen kaldırılmadığını varsayarsak, RGBA renklerimizi (veya bu adamlardan biriyseniz HSLA renklerini ) Rengi destekleyen tarayıcılarda onaltılık biçimde tanımlayabileceğimiz anlamına gelir. Modül Seviye 4'ün sözdizimi.
Misal
elem {
background: rgb(0, 0, 0); /* RGB notation (no alpha). */
background: #000; /* 3-digit hexadecimal notation (no alpha). */
background: #000000; /* 6-digit hexadecimal notation (no alpha). */
background: rgba(0, 0, 0, 1.0); /* RGBA notation. */
/* The new 4 and 8-digit hexadecimal notation. */
background: #0000; /* 4-digit hexadecimal notation. */
background: #00000000; /* 8-digit hexadecimal notation. */
}
Bunu müşteriye dönük ürünlerimde ne zaman kullanabilirim?
Tüm şakalar bir yana: şu anda sadece 2015'in başlangıcıdır, bu nedenle bunlar henüz bir süre için herhangi bir tarayıcıda desteklenmeyecektir - ürününüz yalnızca en güncel tarayıcılarda çalışacak şekilde tasarlanmış olsa bile yakında bir üretim tarayıcısında bunu görmüyorum.
#RRGGBBAA renk gösterimi için mevcut tarayıcı desteğini görüntüle
Bununla birlikte, CSS'nin çalışma şekli, bunları bugün kullanmaya başlayabileceğimiz anlamına geliyor! Bunları şimdi kullanmaya gerçekten başlamak istiyorsanız, geri dönüşü eklediğiniz sürece, desteklenmeyen tarayıcılar geçerli olarak kabul edilene kadar yeni özellikleri görmezden gelir:
figure {
margin: 0;
padding: 4px;
/* Fall back (...to browsers which don't support alpha transparency). */
background: #FEFE7F;
color: #3F3FFE;
/* Current 'modern' browser support. */
background: rgba(255, 255, 0, 0.5);
color: rgba(0, 0, 255, 0.75);
/* Fall... foward? */
background: #ffff007F; /* Or, less accurately, #ff08 */
color: #0000ffbe; /* Or #00fc */
}
<figure>Hello, world!</figure>
Bu yanıtı CSS'deki background
ve color
özelliklerini destekleyen bir tarayıcıda görüntülediğiniz sürece <figure>
, yukarıdaki snippet'in sonucu olan öğe buna çok benzeyecektir:
Öğemizi incelemek için Windows'ta en yeni Chrome sürümünü (v39.0.2171) kullanarak <figure>
aşağıdakileri göreceğiz:
6 basamaklı onaltılık geri dönüş rgba()
değerler tarafından geçersiz kılınır ve şu anda Chrome'un CSS ayrıştırıcısı tarafından geçersiz sayıldığı için 8 basamaklı onaltılık değerlerimiz yok sayılır. Tarayıcımız bu 8 basamaklı değerleri desteklediği anda bunlar geçersiz kılınır rgba()
.
GÜNCELLEME 2018-07-04: Firefox, Chrome ve Safari şimdi bu gösterimi destekliyor, Edge hala eksik ama muhtemelen takip edecek ( https://caniuse.com/#feat=css-rrggbbaa ).
rgb(0xff,\x80,#44)
şaşırtıcı Sekizli gösterimi biraz york görünüyorrgb(0100, 0200,0300)
edilir#4080C0