2009-10-23 6 views
3

이 버그를 식별하려고합니다. 이미 알려진 이슈입니까? 아니면 완전히 새로운 문제입니까? 해결 방법이 있습니까 (예 : 확대/축소 또는 위치 : 상대적으로 수정할 수 있습니까?), 여기서 HTML을 수정하지 않고 idealy를 추가하면됩니다.IE8 CSS/combobox 버그 (이상한 텍스트)

IE8에서 아래 HTML을 표시하면 선택 (콤보 상자)의 텍스트가 두 번 표시됩니다. 콤보 상자 외부에 하나. 이것은 내 문서의 흐름을 엉망으로 만들고있다.

<html><body> 
<div style="width: 800px;"> 
<div style="float: right" >  
</div> 
<div style="display: none"> 
    ijklmno 
</div> 
<div style="float:left"> 
    <select> 
    <option>abcdef</option> 
    </select> 
    <div style="float: right"> 
    </div> 
</div> 
</div> 
</body></html> 
+0

질문에 문제가 발생 했습니까? 코드는 어딨어? 코드 단추를 클릭하거나 각 줄에 4 칸 이상을 놓아야합니다. – Abel

+0

체크섬을 사용하여 콤보 박스를 작성한 지 오래되었습니다. – alex

+0

어 좋아. :) 멋진 버그. : 첫 번째 div를 실제로 만드는 것이이 문제를 수정합니다. 멋지고 이상합니다. –

답변

3

이것은 레이아웃 스타일 규칙에 매우 명료하기 때문에 분명히 버그입니다. 그러나 그것은 또한 처음부터 정말 이상한 배열입니다. 숨겨진 div를 숨기거나 선택 항목 아래에 div를 숨기면 문제가 사라집니다. 내 최고의 추측은 블럭 레벨 엘리먼트가 겹쳐져 있고 하나는 비어있는 블럭 레벨 엘리먼트가 겹쳐져 있기 때문에 IE는 플로트를 무시하고 서로의 위에 얹어 놓으려고하는 것인데, 이것은 옵션을 강제로 내리고 있지만, 그것도 선택 내에서 옵션을 보여주는.

아주 이상하고 아주 멋진 잡기. 당신이 볼 수있는 옵션은 마지막 div (비 분리 공간)에 내용을 추가하거나 div (표시 : 없음) 또는 둘 다 숨기는 것입니다.

파이어 폭스에서는 마지막 div도 부동이 아니며 select와 겹치고 있습니다 (개발자 툴바로 블록 레벨 요소를 간략히 설명하면 알 수 있습니다). Firefox는 겹치는 블록 레벨 집단.

테두리가있는 마지막 div를 설정하면 주 div 오른쪽에 떠오르지 않습니다.