스킨 제작 프로젝트 - Step2. 퍼블리싱
글수 17
<img> 태그를 쓴 png 이미지는 투명하게 만드는 방법은 여기 제로보드에도 쓰이고 있죠
그런데 Background 로 쓰기에는 그 스크립트가 안 통하죠.
그러나 CSS 로 쉽게 해결할수 있습니다.
뭐 아시는 분들은 이미 다 아시겠지만요 ㅎㅎ
레이아웃의 그림자 같은 경우 Background 로 지정해서 컨탠츠에 따라서 커지고 작아지고에 따라서 계속 보여지게 해야 하죠.
PNG 로 그 그림자를 지정하면 아주 깨끗하고 깔끔하게 나오기 때문에 PNG 를 쓰는게 좋죠.
아래 소스만 있으면 모든 브라우저에서 투명하게 나오게 됩니다
<style>
<!--
#header_middle{
margin:auto;
width:426px;
background:url(images/box_02.png) repeat;
background-position:center top;
font-family:dotum;
font-size:12px;
padding:0px 30px 0px 30px;
}
* html #header_middle {
background:url(images/blank.gif) no-repeat;
filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src="images/box_02.png", sizingMethod="scale");
}
-->
</style>나와 있는대로 div 에 id 값을 지정해주면 투명 png 로 보여집니다.
또한 IE 6 에서 투명하게 나오기 위해산 *html #header_middle 이 작동하기 위해서는
blank.gif 투명 gif 가 있어야 합니다.
예제: http://blzlife.net/source/png/
2008.03.01 21:21:33 (*.135.224.72)
좋은 정보 감사합니다.
그러지 않아도 PNG 파일을 백그라운드 이미지로 활용할 수 없을까 하는 생각을 했는데, 이 팁을 적용하면 되겠군요.
PNG 사용할 때 항상 걸리는 녀석이 IE6였었는데 IE6에서도 제대로 표현이 되는 것 확인하고 만세를 불렀다는... ㅠ.ㅠ;;;
이제 레이아웃 만들 때도 편하겠군요.
물론 위젯이나 모듈에서도 마찬가지겠지만... ^^
그러지 않아도 PNG 파일을 백그라운드 이미지로 활용할 수 없을까 하는 생각을 했는데, 이 팁을 적용하면 되겠군요.
PNG 사용할 때 항상 걸리는 녀석이 IE6였었는데 IE6에서도 제대로 표현이 되는 것 확인하고 만세를 불렀다는... ㅠ.ㅠ;;;
이제 레이아웃 만들 때도 편하겠군요.
물론 위젯이나 모듈에서도 마찬가지겠지만... ^^
2008.03.07 22:11:41 (*.80.131.195)
위의 예제<ㅡㅡㅡㅡ투명하게 적용은 되는데 ie6에서 textarea의 스크롤바가 안 먹히는거 같네요...왜 그럴까요...
2008.08.23 02:07:00 (*.86.51.2)
마지막 경로는 AlphaImageLoader(src="images/box_02.png", sizingMethod="scale"); 에서 경로는 http://자기주소/images/box_02.png로 해야 되는군요....한참 안돼서 시행착오끝에 이렇게 하니 되는군요..
안돼시는분들은 저처럼 하세요.. 정말 좋은 팁이네...ㅎㅎㅎ 덕분에 살았습니다..
2008.09.03 13:54:22 (*.138.37.44)
참 좋은 팁인데, 말씀하신데로 아시는 분은 아시겠지만, 모르는 사람에게는 조금더 상세한 적용방법이 있었으면 하는 아쉽움이 있네요.
하지만, 추천한방 날립니다. ^^
하지만, 추천한방 날립니다. ^^
2008.09.30 11:26:09 (*.13.37.6)
블루즈님의 코드를 제가 좀 더 간결하게 만든 코드가 있어 소개 드립니다. 블루즈님께서 제시해주신 예제는 선택자를 두번 사용하는 예제로서 핵을 사용하지 않고 CSS 코드를 작성하는 정석적인 방법이라고 볼수 있습니다. 한편 제 코드는 선택자를 한번만 사용하여 코드량을 줄이는 대신 IE6 핵을 사용한 코드 입니다. HTML 문법은 반드시 지키는 것이 좋으나 브라우저 호환성 문제를 쉽게 극복하기 위하여 제로보드 XE 자체는 CSS 문법검사를 통과하는 것까지 염두하지는 않고 있습니다. 제로보드 XE의 CSS코드는 핵으로 인하여 향후 브라우저에서 문제가 되지 않는다는 확신 하에 제한적으로 사용되었습니다. 핵을 사용한 예제는 아래와 같고 blank.gif 이미지는 필요로 하지 않습니다.
원리를 설명드리자면 최초에 선언된 background는 표준계열 브라우저(IE7, FF, OP, SF, CR)에 적용되구요.
속성 앞에 '_' 언더바가 붙은 코드는 IE6~5.5 브라우저에만 적용되는 코드 입니다.
PNG이미지를 상대경로로 지정할 때 한가지 주의할 점은 background:url 부분에 적을 이미지의 경로는 CSS 문서를 기준으로 적지만,
IE에 적용되는 filter 부분의 src 경로는 HTML문서를 기준으로 적어주셔야 한다는 겁니다.
따라서 같은 이미지를 사용하시더라도 CSS, HTML 문서가 다른 폴더 깊이를 지니고 있다면 두 이미지의 경로를 다르게 설정해 주셔야 하겠죠.
그리고 모든 IE6~5.5 대응 PNG 관련 팁들은 다음과 같은 문제가 있습니다.
첫째, 배경의 반복이 안되고
둘째, 배경의 포지션 지정이 안되고
셋째, 배경이 지정된 요소에 position:absolute | relative 등이 지정되면 자식 요소 링크에 마우스가 접근할 수 없는 버그도 있습니다.
좀 더 자세한 정보를 원하시면 제 블로그 포스트를 참고해 주세요.
IE6에서 PNG-24의 ‘투명/반투명’ 색을 바르게 표현하기.
PNG-24를 배경으로만 사용하려는 경우의 CSS Hack.
제로보드 XE 에서 PNG 문제를 해결하는 방법으로 .iePngFix 라는 클래스를 제공하고 있는데요. 알고 계신것과 다르게 이 클래스는 전경과 배경 모든 경우에 작용합니다. PNG-24 포멧을 사용하신 후 전경이든 배경이든 해당 요소에 class="iePngFix" 라는 클래스를 적용하시면 제로보드 XE를 IE6~5.5 브라우저에서 볼때에 PNG-24 파일의 반투명 효과를 의도한 대로 표현할 수 있습니다. CSS 코드에 이미 .iePngFix { behavior:url(./common/js/iePngFix.htc); } 라는 코드를 작성해 두어 PNG-24 관련 스크립트(iePngFix.htc)가 IE에서 작용하도록 설정해 두었기 때문입니다.
.selector{background:url(png24.png); _background:none; _filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='png24.png', sizingMethod='crop');}원리를 설명드리자면 최초에 선언된 background는 표준계열 브라우저(IE7, FF, OP, SF, CR)에 적용되구요.
속성 앞에 '_' 언더바가 붙은 코드는 IE6~5.5 브라우저에만 적용되는 코드 입니다.
PNG이미지를 상대경로로 지정할 때 한가지 주의할 점은 background:url 부분에 적을 이미지의 경로는 CSS 문서를 기준으로 적지만,
IE에 적용되는 filter 부분의 src 경로는 HTML문서를 기준으로 적어주셔야 한다는 겁니다.
따라서 같은 이미지를 사용하시더라도 CSS, HTML 문서가 다른 폴더 깊이를 지니고 있다면 두 이미지의 경로를 다르게 설정해 주셔야 하겠죠.
그리고 모든 IE6~5.5 대응 PNG 관련 팁들은 다음과 같은 문제가 있습니다.
첫째, 배경의 반복이 안되고
둘째, 배경의 포지션 지정이 안되고
셋째, 배경이 지정된 요소에 position:absolute | relative 등이 지정되면 자식 요소 링크에 마우스가 접근할 수 없는 버그도 있습니다.
좀 더 자세한 정보를 원하시면 제 블로그 포스트를 참고해 주세요.
IE6에서 PNG-24의 ‘투명/반투명’ 색을 바르게 표현하기.
PNG-24를 배경으로만 사용하려는 경우의 CSS Hack.
제로보드 XE 에서 PNG 문제를 해결하는 방법으로 .iePngFix 라는 클래스를 제공하고 있는데요. 알고 계신것과 다르게 이 클래스는 전경과 배경 모든 경우에 작용합니다. PNG-24 포멧을 사용하신 후 전경이든 배경이든 해당 요소에 class="iePngFix" 라는 클래스를 적용하시면 제로보드 XE를 IE6~5.5 브라우저에서 볼때에 PNG-24 파일의 반투명 효과를 의도한 대로 표현할 수 있습니다. CSS 코드에 이미 .iePngFix { behavior:url(./common/js/iePngFix.htc); } 라는 코드를 작성해 두어 PNG-24 관련 스크립트(iePngFix.htc)가 IE에서 작용하도록 설정해 두었기 때문입니다.










이해가 잘 안되요 ㅠㅠ