CSS2에서는 RGBA라는 속성을 지원합니다. 말 그대로 우리가 사용하는 기본 16진수 RGB 값에 'Alpha'가 붙은 꼴인데요, 사용법은 간단합니다.

.target { background-color:rgba(255, 255, 255, 0.5); }

처음 세 값이 각각 Red, Green, Blue의 값이며, Alpha(투명도)는 마지막 4번째 인자입니다. 즉, 여기서는 투명도가 50%인 흰색이 배경 색상으로 지정되겠군요.

하지만, RGBA는 모든 브라우저에서 아직 지원하지 않고 있습니다. 그 중 IE 시리즈는 모든 시리즈에서 지원하지 않음을 볼 수 있군요.

다행히도, 방법이 전혀 없는 것은 아닙니다. 여기에는 두 가지 방법이 있습니다.

1. fallback 속성 지정

fallback이란 어떤 속성의 적용이 실패했을 때를 대비하여 지정해 놓는 CSS로서 일종의 '보험'이라고 볼 수가 있는데, 사용법은 무지무지 간단합니다. 그냥 '중첩'이라고 보시면 될 듯 하네요.

위의 예제에서, RGBA값을 지원하지 않는 브라우저에게는 background-color을 흰색(#fff)로 설정하기로 fallback 값을 지정한다고 하면, 다음과 같이 코딩이 가능합니다.

.target { background-color:#fff; background-color:rgba(255, 255, 255, 0.5); }

예. 간단합니다. 속성의 중첩 설정이라고 하죠, 아마?
하지만 이 방식도 약간의 문제가 있습니다. IE6이 이 fallback 설정을 가끔 잘 지원하지 못하기 때문에 배경색이 입혀지지 않는 경우가 있는데, 이럴 땐 IE Conditional Filtering을 이용해서 직접 전용 CSS를 만들어 주셔야 합니다.

2. IE 전용 Filter CSS 방식을 이용하기

IE는 웹표준이 아닌 몇몇 CSS 기술을 filter 메서드로 이용이 가능한데, 이 중 gradient 기능에는 Alpha값을 설정하는 부분이 있습니다.하지만 이 기능은 언제까지나 IE에 특화되어 있기 때문에, IE Conditional Filtering의 사용이 필요합니다.

그럼, 위의 샘플 코드로 계속해서 이어나갑니다. 먼저 IE8까지 RGBA 값을 지원하지 못하므로, IE 필터링 주석은 밑과 같이 코딩할 수 있겠네요.
<!--[if lte IE 8]>

<![endif]-->

이제 여기에 IE 전용의 특수한 코드를 집어 넣습니다.

<!--[if lte IE 8]>
.target { 
    background: transparent; 
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#80FFFFFF,endColorstr=#80FFFFFF); 
}
<![endif]-->

여기서 background는 먼저 transparent로 설정해 줍니다. 미리 다른 색상이 설정되어 있을 경우 filter 메서드와 충돌할 가능성이 있거든요.

이제 중요한 것은 gradient 메서드의 내용입니다. 보시면 startColorstr과 endColorstr이 있는데, 이 둘에서 유추할 수 있듯이, 값이 기존의 3byte Hex값이 아니라 4byte Hex값이 되었습니다. 그리고 처음의 두 글자가 바로 Alpha, 즉 투명도를 지정하는 부분이네요. 이른바 'ARGB' 형식이랄까.

그럼 코딩은 끝났습니다. 위 코드를 종합하면,
.target { background-color:#fff; background-color:rgba(255, 255, 255, 0.5); }

<!--[if lte IE 8]>
.target { 
    background: transparent; 
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#80FFFFFF,endColorstr=#80FFFFFF); 
}
<![endif]-->


이렇게 코딩이 가능하네요 :)
더 이상 opacity 속성을 주지 않고도, png 이미지를 만들지 않아도 쉽고 간단하게 CSS 코드만으로도 배경 투명화 효과를 낼 수 있습니다.

RGBa Support Browser's

Last updated: 02/07/2010

.color-block { 
                      
   /* The Fallback Color */
   background: rgb(200, 54, 54);
                      
   /* The Important Bit - Alpha Transparency */ 
   background: rgba(200, 54, 54, 0.5); 
   
}
2215433121_6573bcd8b1.jpg
Colored Pencils
Browser, Version, PlatformOutcomeFallback
Firefox 3.6 (OS X)Works--
Firefox 3.0.5 (OS X)Works--
Firefox 3.0.5 (Windows XP, Vista)Works--
Firefox 2.0.0.18 (PC)Doesn't WorkSolid Color
Safari 4 (Developer Preview & 4.0.4, OS X)Works--
Safari 3.2.1 (OS X, Windows XP)Works--
Mobile Safari (iPhone)Works--
Opera 9.6.1Doesn't WorkSolid Color
Opera 10 Beta (Linux & Windows)Works--
Opera 10.10 (OS X)Works--
IE 4.01Doesn't WorkNo Color
IE 5.5 (PC via IETester)Doesn't WorkNo Color
IE 6 (PC via IETester)Doesn't WorkSolid Color
IE 7Doesn't WorkSolid Color
IE 8 (Beta 2 & release version)Doesn't WorkSolid Color
Google Chrome 0.4.154.33 (Windows XP)Works--
Google Chrome 1.0.154.46 (Windows XP)Works--
Google Chrome 4.0.249.49 (OS X)Works--
Netscape 4.8 (PC)Doesn't WorkNo Color
Navigator 9.0.0.5 LinusDoesn't WorkSolid Color
SeaMonkey 1.1.14Doesn't WorkNo Color
SeaMonkey 2.0Works--
Sunrise 1.7.5Works--
Stainless 0.2.5Works--
Flock 1.2.7Doesn't WorkSolid Color
Flock 2.0.2Works--
BlackBerry Storm BrowserWorks--
Camino 1.6.6Doesn't WorkSolid Color
Camino 2.0b1Works--
Iceape 1.1.14 (Linux)Doesn't WorkSolid Color
Kazehakase 0.5.2 (Linux)Doesn't WorkSolid Color
Avant 11.7 (Windows XP)Doesn't WorkSolid Color

What the above image should look like (image):

working.png
번호 제목 글쓴이 날짜 조회 수
128 Web Speech API Example (HTML5 STT & TTS) file 황제낙엽 2025.04.14 731
127 모바일과 데스크톱을 포괄하는 사용자의 터치 이벤트(onPointerTap) 황제낙엽 2025.04.09 648
126 Web RTC 에 관하여 황제낙엽 2024.11.20 626
125 div와 span의 차이점 (from Bing) 황제낙엽 2023.06.16 685
124 flexbox (flexible box layout) 황제낙엽 2023.02.27 641
123 characters from ISO 8859-1 황제낙엽 2020.11.10 36946
122 HTML FRAMESET 태그 예제 황제낙엽 2020.11.06 718
121 스마트 기기에서 여러 단말기의 해상도에 대응하기 위해 사용하는 HTML viewport meta tag 황제낙엽 2020.11.06 644
120 네이버의 무료 나눔 글꼴 황제낙엽 2020.05.06 1762
119 서버의 이미지나 txt 파일을 웹브라우저에서 다운로드하기 황제낙엽 2019.05.13 867
118 When to encode space to plus (+) or %20? (application/x-www-form-urlencoded) 황제낙엽 2019.04.15 917
117 HTTP/2 소개 황제낙엽 2018.10.12 693
116 글자, 문자, 텍스트, 글꼴, 서체, 폰트와 관련한 속성들 / font-size , 크기 단위(em, px, pt, rem), 절대 단위, 상대 단위 황제낙엽 2018.04.18 842
115 Pragma와 Cache-Control 황제낙엽 2018.03.28 845
114 로드밸런싱(L4)+아파치를 운영시 etag제거로 캐시 성능 최적화 file 황제낙엽 2018.03.28 944
113 HTTP 요청 헤더 III - If-Match, If-Modified-Since, If-None-Match file 황제낙엽 2018.03.27 726
112 재미난 로그인 페이지 만들기 file 황제낙엽 2018.03.26 1592
111 HTTP Cache-Control 요청 지시어 황제낙엽 2018.03.09 713
110 내 웹사이트의 속도를 빠르게! file 황제낙엽 2018.03.07 859
109 성능을 위한 초간단 HTTP 304 Not Modified 구현 방법 file 황제낙엽 2018.03.07 816