IE 6 에서 PNG 렌더링 하기 >_<
- Posted at 2007/04/24 22:11
- Filed under 어리버리/이럴수가!
1. img 로 불러올 때
css에서
.png24 {
tmp:expression(setPng24(this));
}
이렇게 선언하고
js에서
function setPng24(obj) {
obj.width=obj.height=1;
obj.className=obj.className.replace(/\bpng24\b/i,'');
obj.style.filter =
"progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+ obj.src +"',sizingMethod='image');"
obj.src='';
return '';
}
이렇게 선언해 준 후에 사용하는 이미지에 class="png24"를 삽입.
BUT - 페이지를 한 번더 호출하는 경우가 발생 -_-;
2. background-image로 불러올 때
background: url(../images/asdf.png) no-repeat center top;
//CSS문서 위치를 중심으로 이미지 경로를 따질것
background-image : none;
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../images/asdf.png',sizingMethod='scale');
//실제 읽어들이는 페이지를 중심으로 이미지 경로를 따질것
출처 : http://forum.standardmag.org
Posted by mkyoon
- Tag
- ie, IE6, PNG 랜더링
- Response
- No Trackback , 2 Comments
Trackback URL : http://mkyoon.com/trackback/29
Comments List
-
설명 잘보았습니다.
현재 png 로 했다가 익스6.0에서 안먹혀서 애를먹다가
위방법대로 하니까.. 되네요..감사드려요.
근데 테이블속성의 백그라운드나 아님 롤오버시는
어떻게 해야 하는건가요 ..??
답변 부탁드리겠습니다.
백그라운드시 위의 태그를 쓰면 되는건가요?-
백그라운드로 넣을 때는 2번과 같이 하시면 됩니다.
2번 예제가 짤려나가서 잘 보이지 않는데도
도움이 되었다니 다행입니다 ㅠㅠ
롤오버시 background-image 를 바꿔치기 한다는 것인지요?
만약 그렇다면 a:hover 를 이용해서 바꾸는 방법이 있고요.
http://www.oreillynet.com/pub/a/javascript/2001/03/23/rollovers.html
모든 element에는 :hover를 붙일 수 있지만
IE6 에서는 A element에만 :hover가 먹히기 때문에
anchor 가 걸리지 않은 곳에 :hover를 적용시켜야 한다면
class를 추가해서 바꿔주는 방법이 있습니다.
http://monoeyes.com/394
-