IE 6 에서 PNG 렌더링 하기 >_<

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


Trackback URL : http://mkyoon.com/trackback/29

Comments List

  1. 최원민 2008/01/30 21:41 # M/D Reply Permalink

    설명 잘보았습니다.

    현재 png 로 했다가 익스6.0에서 안먹혀서 애를먹다가

    위방법대로 하니까.. 되네요..감사드려요.

    근데 테이블속성의 백그라운드나 아님 롤오버시는

    어떻게 해야 하는건가요 ..??

    답변 부탁드리겠습니다.

    백그라운드시 위의 태그를 쓰면 되는건가요?

    1. mkyoon 2008/01/31 13:47 # M/D Permalink

      백그라운드로 넣을 때는 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

Leave a comment
« Previous : 1 : ... 67 : 68 : 69 : 70 : 71 : 72 : 73 : 74 : 75 : ... 89 : Next »