2014-07-02 43 views
12

Mam przeniesiony poza użyciem standardowych kolorów w CSS, oświadczając im orange, blue, aquamarine, itd ..., i zostały przy użyciu rgb() podobnie jak dla tych samych kolorach odpowiednio , rgb(255,165,0), rgb(0,0,255) i rgb(127,255,212) (dzięki pakietowi ColorHighlighter w ST3).Jakie są różnice między RGB vs RGBA inne niż „kryciem”

Po zmianie gradientu na bootstrap .btn natknąłem się na rgba(). Szybkie badania wyjaśniają, że a oznacza alpha i istnieje cała masa integralnej matematyki przypisanej do Catmull i Smith. Łatwo też zauważyć, że kanał alfa służy do "komponowania alfa", które w większości przypadków można powiązać jako "krycie".

  • Czy występują różnice między dwoma innymi niż nieprzezroczystość?
  • Dlaczego nie jest to konwencja używać RGBA. (Jestem przy założeniu, to ponieważ jestem właśnie potykając się na tym) nie
  • są inne ograniczenia, które należy znać podczas korzystania rgba() dla sieci?
  • Czy istnieje skrót do deklarowania krycia obok skrótu kolorowego? (Tj color: salmon:.5;)
  • Z punktu widzenia dewelopera internetowej, muszę się martwić o różnic między ARGB, RGBA, BGRA Porządek bajtów różnych maszyn INFO?
  • Inne ważne informacje?
+1

_ "Czy istnieją różnice między tymi dwoma innymi niż nieprzezroczystość?" _ Nie. Zobacz http://dev.w3.org/csswg/css-color/#rgb-functions – j08691

Odpowiedz

18

RGB to format 3-kanałowy zawierający dane o czerwony, zielony, i niebieski. RGBA to 4-kanałowy format zawierający dane dla czerwonego, zielonego, niebieskiego i alfa.

Nie ma zastosowania do kanału alfa, z wyjątkiem tego, że kolor jest przezroczysty/nieprzezroczysty (lub częściowo przezroczysty, półprzezroczysty).

W CSS, rgb() miał szeroką obsługę przeglądarki przez kilka lat, zanim rgba() otrzymał taki sam poziom wsparcia. Jest to jeden z powodów, dla których znajdziesz więcej rgb() w CSS niż rgba(). Innym powodem jest to, że przezierność nie jest czymś, czego zwykle używasz wszędzie.

Możesz znaleźć wartość RGB zapakowaną w 16 bitów, z 5 bitami dla Blue i Red i 6 bitów dla Green (zielony dostaje więcej bitów, ponieważ oko jest bardziej wymagające dla odcieni zieleni). Możesz także znaleźć wartość RGBA zapakowaną w 16 bitów, z 5 bitami dla każdego koloru i 1 bit dla alfa. Z jednym bitem możesz sprawić, że kolor będzie w pełni przezroczysty lub nieprzejrzysty.

Obecnie w RGB i RGBA znajdują się wartości 32-bitowe z 8 bitami dla każdego koloru i 8 bitami dla alpha (lub puste dla RGB).

W CSS projektanci zdecydowali się użyć wartości 0-255 (zakres dla wartości 8-bitowej) dla czerwonego, zielonego i niebieskiego, ale używają wartości od 0,0 do 1,0 dla kanału alfa. Rzeczywisty format bajtowy koloru jest nieistotny dla twórców stron internetowych.

Z mojego doświadczenia wynika, że ​​ani rgb(), ani rgba() nie są używane bardzo często w CSS. Sześciokątne kolory są znacznie bardziej dominujące i wyprzedzają je o kilka kolejnych lat.

HSL jest w rzeczywistości znacznie lepszym formatem do pracy z kolorami i jest obsługiwany w CSS (IE9 +, Firefox, Chrome, Safari i Opera 10+).

http://www.w3schools.com/cssref/css_colors_legal.asp

0

RGB jest standardowe wartości RGB (czerwony, zielony, niebieski)

rgba jest standardowe wartości RGB (czerwony, zielony, niebieski + Alpha (aka nieprzejrzystości))

Nie znajdziesz dowolny kolor wariacje. RGBA jest właściwością kolorów css3.

Jako starsza wsparcie przeglądarka może być ograniczona, można użyć koloru awaryjnej jako takie:

CSS:

div { 
    background-color: rgb(200, 54, 54); /* The Fallback */ 
    background-color: rgba(200, 54, 54, 0.5); 
} 
+2

OP zawiera pół tuzina pytań, a Ty po prostu powtórzył to, co powiedział, że już odkrył. – j08691

+0

Podałem za wcześnie. Przepraszamy za to j08691 – remixdesign

1

RGB jest standardowe kolory RGB, już rozumiem.

RGBa to standardowe kolory rgb, ale z alfa/nieprzezroczystością również.

Poza tym nie ma żadnej różnicy, kolory nadal kodują to samo.

Problem z używaniem tego i innych stylów kolorów jest taki, że nie zawsze jest obsługiwany. Oto a link Znalazłem informację, które wersje przeglądarek ją obsługują.

Stwierdzenie alfa w CSS wyglądałby następująco RGBA (0, 0, 0, 0,3) z alfa jest liczbą dziesiętną lub liczbę całkowitą od 1do . 1 jest nieprzezroczysty, a 0 całkowicie przezroczysty.