2015-05-16 5 views
0

Взгляните на этот Fiddle:Невозможно установить высоту строки, равной высоте стола

https://jsfiddle.net/rahul_singh1/472532y8/1/

<body> 
    <div class="main"> 
     <table class="top"> 
      <tbody> 
       <tr><td>Text</td></tr> 
      </tbody> 
     </table> 
    </div> 
</body> 

CSS:

.main {height:40px; background-color:blue} 
.top {height: 100%; width: 55%; margin: 0px auto 0px auto; background-color:green;} 
.top>tbody>tr {height: 100%;} 
.top>tbody>tr>td {color:red;background-color: white;} 

я проверил в DOM. div, table и tbody все они имеют высоту = 40px. Но высота строки идет как 36px.

Как получить высоту строки 100%?

+4

границы-крах: коллапс может быть? https://jsfiddle.net/472532y8/2/ –

+0

Yup Помещение «border-collapse: collapse» свойство за столом работало отлично. Большое спасибо. :) – Rahul

ответ

0

Примените cellpadding и cellpacing к нулю для вашего стола.

<body> 
<div class="main"> 
    <table class="top" cellpadding="0" cellspacing="0"> 
     <tbody> 
      <tr><td>Text</td></tr> 
     </tbody> 
    </table> 
</div> 
</body> 

DEMO

Вы можете достичь того же выше, с использованием CSS также. Нанести padding:0; border-collapse:collapse;

.top {height: 100%; width: 55%; margin: 0px auto 0px auto; padding:0; border-collapse:collapse; background-color:green;} 

DEMO2

+0

или border-collapse в css, чтобы избежать дополнительных атрибутов в html ... https://jsfiddle.net/472532y8/2/ –

+0

Да. Я обновил свой ответ. –

Смежные вопросы