2013-04-11 3 views
25

CSS의 투명성을 위해 rgba(0, 0, 0, 0) 또는 rgba(255, 255, 255, 0)을 사용해야합니까?CSS에서 투명도를 위해 rgba (0, 0, 0, 0) 또는 rgba (255, 255, 255, 0)를 사용해야합니까?

각 장단점은 무엇입니까?

+0

불투명도를 수정하려면 하나는 흰색이고 검은 색은 검정색입니다. 그렇지 않으면 여전히 투명합니다. 이 시나리오가 질문으로 제기 된 시나리오는 무엇입니까? –

+4

"@JackManey"왜 중요할까요? "나는 모른다. 그래서 내가 물었다. – Joe

답변

49

rgba() 함수의 마지막 매개 변수는 "alpha"또는 "opacity"매개 변수입니다. 0으로 설정하면 "완전히 투명"을 의미하며 처음 세 개의 매개 변수 (red, greenblue 채널)는 색상을 볼 수 없기 때문에 중요하지 않습니다.

  1. 이 덜 타이핑이야 그것은 당신의 CSS 파일에서 몇 가지 추가 바이트를 유지,
  2. , 그리고
  3. 당신은 분명 문제가 표시됩니다 염두에두고

    , 때문에 rgba(0, 0, 0, 0)를 선택할 것 알파 값이 바람직하지 않은 값으로 변경되는 경우

당신 전부 rgba 모델을 피하고 w3.org에 따르면, "투명한 블랙"에 해당하고 rgba(0, 0, 0, 0)로 계산해야하는 대신 transparent 키워드를 사용할 수 있습니다. 예를 들면 다음과 투명성을 사용하는 당신의 의도가 분명하다 동안이 또 다른 몇 바이트를 저장

h1 { 
    background-color: transparent; 
} 

(경우에 하나의 RGBA에 익숙하다).

CSS3부터는 색상을 허용하는 CSS 속성에 transparent 키워드를 사용할 수 있습니다.

8

알파를 사용하여 색상을 저장하는 두 가지 방법이 있습니다. 첫 번째 부분은 각 구성 요소를 그대로 사용하면서 본 것입니다. 두 번째는 미리 곱한 알파을 사용하는 것입니다. 여기서 색상 값은 0.0-1.0 범위로 변환 한 후 알파를 곱합니다. 이것은 compositing을 쉽게하기 위해 수행됩니다. 일반적으로 특정 엔진에 의해 어떤 방법으로 구현 되었는가를주의하거나 신경 쓰지 않아야합니다. 예를 들어 색상의 불투명도를 높이려는 경우와 같은 경우가있을 수 있습니다. rgba(0, 0, 0, 0)을 사용하면 두 가지 접근 방식의 차이점을 볼 확률이 줄어 듭니다.

+4

이것은 정답이다.특히, 이미지 값 모듈 [필요] (그라데이션)을 사용하여 그라디언트로 작업 할 때 "색상의 불투명도를 높이려는 경우와 같은 경우가있을 수 있습니다"라는 부분은 특히 사실입니다. .w3.org/TR/css3-images/# color-stop-syntax)를 사용하여 그라디언트 색상이 미리 곱한 RGBA 공간에서 계산됩니다. 브라우저마다 구현 방식이 여전히 다르다는 점에 유의하십시오. 특히 최근 버전의 일부 버전은 여전히 ​​사양의 요구 사항을 위반합니다 (비록 공정한 편이지만 최근 개정판까지는 지정되지 않았다고 생각합니다). – BoltClock

1

유 RGBA (255, 255, 255, )를 사용하여 작은 차이 배경색보다 0.0 내지 1.0 ''증가의 값보다 경량화가된다. rgba (0,0,0, )를 사용할 때 'a'의 값이 0.0에서 1.0으로 증가함에 따라 배경색이 점점 더 어두워집니다. 그런데, (255,255,255,0)과 (0,0,0,0) 모두가 배경을 투명하게 만든다는 것이 분명합니다. . (255,255,255,1)은 (0, 0, 1, 1)이 완전히 검은 색이되는 곳에서 배경을 완전히 흰색으로 만듭니다.

+2

이것은 실제로 질문에 대답하지 않으며이 질문에 대한 다른 대답 중 적어도 하나 이상에 의해 아직 제공되지 않은 정보를 포함하지 않습니다. –

+1

어떻게 대답 할 수 없다고 말할 수 있습니까? 장단점을 이해할 수 있도록 rgba()의 개념을 설명하려고했습니다. –

+2

당신은'rgba (...) '가 무엇을 설명했으나 그것이 OP가 요구했던 것이 아닙니다. 이 질문에 대한 다른 답변을 보면, 그들은 당신과 상당히 다릅니다. –

관련 문제