2012-09-06 1 views
2

이상한 문제입니다. 다음 jsFiddle에서 jQuery는 IE7 또는 IE8을 사용할 때 셀의 패딩에 대해 0px을 반환합니다. 나는 IE7이나 IE8 (아래 코드)에 간단한 HTML 페이지에서 로컬이를 테스트 할 때, jQuery를 나에게 패딩을 알려줍니다 그러나IE7/8에서 jQuery는 cellpadding = 0 셀에 1px 패딩이 있다고 말합니다.

http://jsfiddle.net/ZmfHE/

1 픽셀의입니다. 왜 이런 일이 일어나는 지 알 수 있습니까? 코드가 jsFiddle에서와 동일합니까?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html> 
    <head> 
    <script src="jquery-1.8.1.min.js" type="text/javascript"></script> 
    <script> 

     $(document).ready(function() { 
     alert($("td").css("padding-left")); 
     }); 

    </script> 
    </head> 
    <body> 

    <table cellspacing="0" cellpadding="0" border="0" width="400"> 
     <tr><td>some text</td></tr> 
    </table> 

    </body> 
</html> 
+0

* 실제 * 페이지에 * 하나의 테이블 셀이 있습니까? –

+1

흥미롭게도 브라우저와 페이지가 IE 8 모드에있는 경우에만 - * (IE 8에서) *를 변경하면 로컬 페이지가 0px로 올바르게 경고됩니다. –

+0

어쩌면 귀하의 IIS가'X-UA-Compatible = EmulateIE7' 또는 무엇인가 – Rodolfo

답변

3

바이올린 당신이 IE 개발 도구 모음을 사용하여 바이올린에 정상화의 스타일을 사용하지 않으면이 0으로 돌아오고 왜 페이지에 normalize.css을 적용, 그것은 x 1 픽셀로 돌아올 것입니다 너무. 인터넷 익스플로러 8 개발자 표시 줄을 보면, 당신은 그것이 정상화가 바이올린에서 이륙 1 픽셀의 패딩을해야한다고 생각 것을 알 수 있습니다 때 또는 로컬로 실행 : 그래서

Padding Image

환경에서 솔루션 원하는 서식을 적용하기 위해 정규화 CSS를 사용하는 것이 좋습니다.

+0

아 .. 그거 재미 있어요. 네, padding에 TD (그리고 많은 것들)를 설정하고 있습니다 : normalize.css에서 0입니다. 내 CSS를 맞게 조정하는 것이지만, 유일한 방법 인 것 같습니다. "노말 라이저"를 사용하는 것이 꽤 일반적인 관행 인 것처럼 보입니다. 결코 알지 못합니다. :) 감사합니다 힙! –

관련 문제