2015-10-01 5 views
-1

пожалуйста, помогите мне с этим:Ширина стола становится перепутались

весь код приведен ниже:

HTML

<div id="user_list"> 
    <table id="grd" style="width: 100%;"> 
     <thead> 
      <tr> 
      <td style="width: 15%;">Name</td> 
      <td style="width: 15%;">Age</td> 
      <td style="width: 35%;">Address</td> 
      <td style="width: 35%;">Office Address</td> 
      </tr> 
     </thead> 
     <tbody> 
      <tr> 
       <td>Agnib</td> 
       <td>25</td> 
       <td>jhjhhsdj</td> 
       <td>wyeruyweryuwe</td> 
      <tr> 
     </tbody> 
    </table> 
</div> 

Все хорошо, пока здесь. Но, как только я применяю приведенный ниже css, ширина столбцов становится испорченной.

CSS

#grd thead, #grd tbody 
{ 
    display: block; 
    width: 100%; 
} 

Почему ширина становится перепутались и его становится все меньше по размеру. Я приложил образец изображения. Его происходит так же, как ниже:

enter image description here

+2

Вы не используете 'display: block;' для элементов таблицы. Примените 'table-layout: fixed;' к вашей 'таблице', если вы хотите, чтобы определения ширины должным образом соблюдались. – connexo

+1

Какова цель этого CSS? – isherwood

+0

На самом деле, мне нужно сделать заголовок таблицы фиксированным. Итак, я видел несколько примеров в Интернете и обнаружил, что thead и tbody нужно сделать как «display: block», а затем мне нужно поставить «overflow: auto и определенную высоту в tbody». Итак, полоса прокрутки придет только для тела. – Agnib

ответ

1

#grd thead, #grd tbody 
 
{ 
 
    
 
    width: 100%; 
 
}
<div id="user_list"> 
 
    <table id="grd" style="width: 100%;"> 
 
     <thead> 
 
      <tr> 
 
      <td style="width: 15%;">Name</td> 
 
      <td style="width: 15%;">Age</td> 
 
      <td style="width: 35%;">Address</td> 
 
      <td style="width: 35%;">Office Address</td> 
 
      </tr> 
 
     </thead> 
 
     <tbody> 
 
      <tr> 
 
       <td>Agnib</td> 
 
       <td>25</td> 
 
       <td>jhjhhsdj</td> 
 
       <td>wyeruyweryuwe</td> 
 
      <tr> 
 
     </tbody> 
 
    </table> 
 
</div>

или

#grd thead, #grd tbody 
{ 

    width: 100%; 
} 
table 
{ 
    border:1px solid gray; 
} 
table tr td 
{ 
border:1px solid gray; 
} 

DEMO FIDDLE

DEMO UPDATED

+0

На самом деле, мне нужно сделать заголовок таблицы фиксированным. Итак, я видел несколько примеров в Интернете и обнаружил, что thead и tbody нужно сделать как «display: block», а затем мне нужно поставить «overflow: auto и определенную высоту в tbody». Итак, полоса прокрутки придет только для тела. – Agnib

0

В файле css просто применяйте стили для заполнения таблицы "#grd", не нужно применять отдельные элементы, такие как "#grd thead" и "#grd tbody". Попробуйте этот код один раз:

<table id="grd" style="width: 100%;" border=1> 
    <thead> 
     <tr><td></td> 
     <td style="width: 15%">Name</td> 
     <td style="width: 15%">Age</td> 
     <td style="width: 35%">Address</td> 
     <td style="width: 35%">Office Address</td> 
     </tr> 
    </thead> 
    <tbody> 
     <tr><td></td> 
      <td style="width: 15%">Agnib</td> 
      <td style="width: 15%">25</td> 
      <td style="width: 35%">jhjhhsdj</td> 
      <td style="width: 35%">wyeruyweryuwe</td> 
     <tr> 
     <tr><td></td> 
      <td style="width: 15%">Agnib</td> 
      <td style="width: 15%">25</td> 
      <td style="width: 35%">jhjhhsdj</td> 
      <td style="width: 35%">wyeruyweryuwe</td> 
     <tr> 
    </tbody> 
</table> 
+0

На самом деле, мне нужно сделать заголовок таблицы фиксированным. Итак, я видел несколько примеров в Интернете и обнаружил, что thead и tbody нужно сделать как «display: block», а затем мне нужно поставить «overflow: auto и определенную высоту в tbody». Итак, полоса прокрутки придет только для тела. – Agnib

+0

ли вы применили ширину для в также –

+0

После попробовать этот отредактированный код ... –

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