Стилизация HTML-таблиц с помощью CSS

HTML-таблицы

Таблицы – неотъемлемый элемент языка гипертекстовой разметки HTML, остающийся до сих пор актуальным для структуризации и удобном представлении различных данных.

Давным давно, когда сайты верстали преимущественно в табличном виде, таблицы пользовались высоким спросом и составляли чуть ли не весь каркас нового ресурса. После, значимость элемента поубавила в популярности относительно блоков (div), с помощью которых возможности верстки стали более расширенными как для десктопной, так и мобильной версий сайтов.

В настоящее время таблицы используются, например, для прайс-листов, списков, характеристик, анкет и много другого, а с применением каскадных таблиц стилей (CSS), мы можем усовершенствовать визуальное представление таблиц в документе. Здесь я представлю несколько примеров оформления HTML-таблиц с исходным кодом, что в дальнейшем можно будет применить при разработке своего проекта.

Стилизация таблиц с помощью CSS

Стилизация таблиц представляет из себя готовую, построенную таблицу на HTML с указанием свойств CSS на определенные теги. Я надеюсь, вы знаете, как и куда вставлять полученный исходный код, чтобы отобразить результат на экране.

В начале приведу общий HTML-код таблицы, который мы в последствии будем стилизовать.

<table>
  <thead>
    <tr>
      <td>Наименование</td>
      <td>Описание</td>
      <td>Цена</td>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Имя</td>
      <td>Характеристики</td>
      <td>Стоимость</td>
    </tr>
    <tr>
      <td>Имя #2</td>
      <td>Характеристики</td>
      <td>Стоимость</td>
    </tr>
    <tr>
      <td>Имя #3</td>
      <td>Характеристики</td>
      <td>Стоимость</td>
    </tr>
  </tbody>
</table>

Шаблоны CSS

Шаблоны не претендуют на оригинальность, но могут быть полезные многим.

#1

table {width: 100%; border-collapse: collapse;}
table td {padding: 12px 16px;}
table thead tr {font-weight: bold; border-top: 1px solid #e8e9eb;}
table tr {border-bottom: 1px solid #e8e9eb;}
table tbody tr:hover {background: #e8f6ff;}
НаименованиеОписаниеЦена
ЛукСобран лучшими сварщиками предприятия20 ₽
КапустаИдеально подходит для борща52 ₽
ЧеснокОсобо острый, с витаминами24 ₽

Кстати, если бы мы не использовали тег <thead>, то задать свои стили к первому ряду можно было с помощью псевдокласса :nth-child(1).

#2

table {width: 100%; border-collapse: collapse;}
table thead tr {color: #ffffff; font-weight: bold; background: #00bf80;}
table thead tr td {border: 1px solid #01ab73;}
table tbody tr td {border: 1px solid #e8e9eb;}
table tbody tr:nth-child(2n) {background: #f4f4f4;}
table tbody tr:hover {background: #ebffe8;}
НаименованиеОписаниеЦена
ВиноградДля приготовления вина146 ₽
ЯблокоНа любой вкус недорого72 ₽
ЛимонОсобо кислый46 ₽

#3

table {width: 100%; border-collapse: separate; border-spacing: 4px;}
table thead tr {color: #ffffff; font-weight: bold;}
table thead tr td {border-radius: 4px 4px 0 0; background: #2e82c3;}
table tbody tr td {border: 1px solid #2e82c3; border-radius: 4px; background: #cbdfef;}
table tbody tr td:hover {background: #a2c3dd; transition-duration: 0.2s;}
НаименованиеОписаниеЦена
SamsungGalaxy S8, S8 Plus2400 ₽
XiaomiRedmi 4A, 4X520 ₽
MeizuM3S, M5S720 ₽

#4

table {width: 100%; text-align: center; border-bottom: 2px solid #dfdfdf; border-radius: 6px; border-collapse: separate; border-spacing: 0px;}
table thead tr {color: #ffffff; font-weight: bold; background: #c83240;}
table tr td {border-right: 1px solid #dfdfdf;}
table tr td:last-child {border-right: 0px;}
table tbody tr:nth-child(1n) {background: #f6f6f6;}
table tbody tr:nth-child(2n) {background: #e6e6e6;}
table tbody tr:hover {background: #ffe8e8; transition-duration: 0.6s;}
НаименованиеОписаниеЦена
ВиражДверь облицованная натуральным шпоном5200 ₽
НаполеонМежкомнатная крашеная дверь по каталогу RAL9900 ₽
ЛатинаДверь с покрытием ПВХ7900 ₽

Своойства CSS

Что означают используемые свойства CSS в шаблонах:

  • width – ширина таблицы;
  • border-collapse – способ отображения границ ячеек вокруг таблицы;
  • border-spacing – расстояние между границами ячеек в таблице;
  • border-radius – скругление углов рамки;
  • padding – внутреннее расстояние элемента от края границы;
  • color – цвет элемента;
  • text-align – выравнивание текста по горизонтали;
  • font-weight – насыщенность шрифта;
  • background – параметры фона;
  • transition-duration – длительность анимации;
  • border – толщина, стиль и цвет границы вокруг элемента.