2009-10-20 4 views
1

양식이있는 간단한 페이지가 있습니다. 그 선택의 수를 보이지 않는 설정하고 Javascript (JQuery) 표시/보이지 않는 좋은 하나를 설정하는 데 사용합니다. 그들 눈에 보이지 않는 설정IE8 비 표시 요소를위한 공간 예약

CSS의는 다음과 같습니다

select { 
    margin:0; 
    margin-top:5px; 
    padding:0; 
    border:0; 
    } 

.Invisible { 
    display:none; 
} 

그것은 8

그것은 보이지 않는 선택을 렌더링 않는 인터넷 익스플로러에, 물론, 파이어 폭스, 오페라와 크롬에서 잘 작동하지만 그러나 각 픽셀에 1 또는 2 픽셀을 예약합니다.

Here is my test page

당신은 "Modèle"과 "예산"사이에 큰 공간이 있는지 볼 수 있습니다 ... 당신은 당신이 "나포"드롭 플레이하면 더 잘 볼 수 있습니다.

답변

1

IE는 여러분의 </select>과 다음 시작 사이의 공백을 렌더링합니다. <select> 개행과이 두 요소 사이의 간격을 제거하면 신비한 공간이 사라집니다.

+0

실제로 작동합니다! 감사 ! " "으로 코딩되지 않은 연속 된 공백은 렌더링되지 않았기 때문에 매우 놀랐습니다. 다른 브라우저의 경우 어느 것인가 ... IE가 "잘못"하거나 뭔가 놓쳤습니까? – Jalil

+0

IE에 문제가 있다고 가정합니다. 나는 테이블에서 td 태그 사이에 이상한 공간을 가진 1,2 년 전에 똑같은 문제를 겪었다. –

+1

Jalil, 연속 된 공백 문자 (공백, 탭, 개행)는 _eliminated_가 아니며, HTML이있을 때 _single_ 공백 구분 기호로 접혀있다. 렌더링. http://www.w3.org/TR/html4/struct/text.html#h-9.1에는 힌트가 있습니다. "... 단어 간 출력 공간을 생성 할 때 사용 도구는 입력 공백 시퀀스를 축소해야합니다." 여기에서 핵심은 '출력 단어 간 공간 생성'입니다. 이는 출력에 여전히 공간이 포함되어 있음을 의미합니다. 입력에 포함 된 연속 된 모든 공백을 포함하지는 않습니다. 또 다른 힌트는 http://www.w3.org/TR/xhtml-media-types/#compatGuidelines에서 Sec. A5 – Val