2013-02-18 1 views
-1

이것은 HTML콘텐츠가있는 경우에만 IE 표 셀이 표시되는 이유는 무엇입니까?

<table class = "contact-table"> 
    <tr> 
     <th>First Name(*):</th> 
     <td> 
      <asp:Label ID="lblFirstName" runat="server" ></asp:Label> 
     </td> 
    </tr> 
    <tr> 
     <th>Middle Name</th> 
     <td> 
      <asp:Label ID="lblMiddleName" runat="server" ></asp:Label> 
     </td> 
    </tr> 
    <tr> 
     <th>Last Name(*):</th> 
     <td> 
     <asp:Label ID="lblLastName" runat="server" ></asp:Label> 
     </td> 
    </tr> 
</table> 

입니다 그리고 이것은 FF크롬 내용은 CSS를

.contact-table th, 
.contact-table td 
{ 
    border: 1px Black solid;  
} 

입니다 상황이는 1 픽셀 두께의 검정색이 TD 번째와 즉, 완벽하게 작동된다 주위에 국경. 그러나 IE의 경우 콘텐츠가있는 td 만 국경을가집니다.

그 이유는 무엇입니까?

편집

내가

.contact-table th, 
.contact-table td, 
.contact-table td span 
{ 
    border: 1px Black solid;  
} 

빈 세포가 IE의 테두리가이 가 .contact 테이블 TD 범위를 추가 할 수 있지만 그 전에 경계를했다 그 세포는, 내부에 별도의 테두리가

세포.

나는 규칙이 방법

.contact-table th, 
.contact-table td span 
{ 
    border: 1px Black solid;  
} 

.contact-table td span 
{ 
    width: 100%;  
} 

그것은 IE를 위해 완벽하게 작동을 변경할 수 있지만, FF와 크롬 지금 랩 텍스트 만 작은 국경을 표시 EDIT

.

브라우저에 따라 CSS에 다른 규칙을 적용하도록 말할 수있는 방법이 있습니까?

+0

는 IE9에서 여기에서 잘 작동합니다. – j08691

+0

@ j08691 : IE9도 있습니다. 하지만 라벨에 날짜가있는 라벨 만 표시됩니다 (라벨에 텍스트가 표시되는 위치). 중간 이름 레이블 및 비어있는 다른 레이블에는 테두리가 없습니다. – Richard77

+0

http://jsfiddle.net/6syzS/ – j08691

답변

1

empty-cells: show이 있습니까?

참조 : http://msdn.microsoft.com/de-de/library/ie/cc848860(v=vs.85).aspx

+0

비어있는 셀을 추가했습니다 : 테이블 수준에서 보여 주지만 셀은 여전히 ​​표시되지 않습니다. – Richard77

+1

및 국경 붕괴? –

+0

@ChristianKuetbach : 테두리 붕괴가 효과적이지만 심미적 인 이유 때문에 테두리 분리가 훨씬 좋아 보입니다. 내가 제대로 작동하지 않는다면, 나는 국경 붕괴로 넘어지지 않을거야. – Richard77

관련 문제