2015-04-11 2 views
0

Я создал следующую таблицу в html. Я хочу применить стиль к элементам таблицы таблицы в столбце, который я добавил в класс css. Но стиль не должен применяться к столбцу заголовка. только к колонке тела.применить стиль столбца к элементу тела таблицы

Здесь для примера у меня есть класс CSS, называемый «body-right». В результате я хочу, чтобы все элементы тела таблицы в столбце «Значение» должны были правильно выравниваться, за исключением столбца заголовка. Как это сделать в css. Большое спасибо.

<table> 
    <thead> 
     <tr> 
      <td>Criteria</td> 
      <td>Description</td> 
      <td class="body-right">Value</td> 
     </tr> 
    </thead> 
    <tbody> 
     <tr> 
      <td>ABC</td> 
      <td>GGGGGG</td> 
      <td>35.63</td> 
     </tr> 
     <tr> 
      <td>XYZ</td> 
      <td>HHHHH</td> 
      <td>68.26</td> 
     </tr> 
     <tr> 
      <td>MNP</td> 
      <td>KKKKK</td> 
      <td>45.26</td> 
     </tr> 
    </tbody> 
</table> 
+2

вы можете использовать 'th' для таблицы головы и применить стиль к' td' демо - http://jsfiddle.net/7b1gd6kf/ –

+0

что, если есть несколько столбцов, и я хочу, чтобы применить к нескольким столбцам , то я должен добавить к ним стиль. Я хочу, чтобы избежать этого. вот почему я сказал это, я хочу применить к элементам тела, где когда-либо добавляю класс в колонку заголовка. – Daybreaker

+0

, то вы можете использовать 'nth-child' http://jsfiddle.net/7b1gd6kf/1/ –

ответ

1

Используйте это:

tbody td:nth-of-type(3) { 
    text-align: right; 
} 

Пример

table { 
 
    border-spacing: 0; 
 
    border-collapse: collapse; 
 
    font: 14px verdana; 
 
} 
 

 
td { 
 
    padding: 0.2em; 
 
    border: 1px solid gray; 
 
} 
 

 
tbody td:nth-of-type(3) { 
 
    text-align: right; 
 
    background: yellow; 
 
    width: 4em; 
 
}
<table> 
 
    <thead> 
 
     <tr> 
 
      <td>Criteria</td> 
 
      <td>Description</td> 
 
      <td class="body-right">Value</td> 
 
     </tr> 
 
    </thead> 
 
    <tbody> 
 
     <tr> 
 
      <td>ABC</td> 
 
      <td>GGGGGG</td> 
 
      <td>35.63</td> 
 
     </tr> 
 
     <tr> 
 
      <td>XYZ</td> 
 
      <td>HHHHH</td> 
 
      <td>68.26</td> 
 
     </tr> 
 
     <tr> 
 
      <td>MNP</td> 
 
      <td>KKKKK</td> 
 
      <td>45.26</td> 
 
     </tr> 
 
    </tbody> 
 
</table>

+0

с этим решением. Мне нужно применить это ко всем столбцам, которые я хочу изменить. если я также хочу применить к 4-м и 6-м столбцам, я должен применять их отдельно. – Daybreaker

+0

Правильно, вы можете добавить дополнительные столбцы в CSS как список, разделенный запятой: 'tbody td: nth-of-type (3), tbody td: nth-of-type (4), tbody td: nth-of -type (6) ' –

+0

О, вы хотите, чтобы столбцы наследовали класс на основе строки thead? Я не думаю, что это возможно в CSS. –

1

Вы можете добиться этого, указав встроенный стиль для секции заголовка отдельно. или сделать небольшое изменение в CSS как

THEAD .Body правой {выравнивания текста: справа; }

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