Яндекс.Метрика

Дизайн-журнал №1. Актуальная информация для дизайнеров, веб дизайнеров, программистов и разработчиков сайтов.

Создание стилей таблицы с использованием возможностей CSS3

4 февраля 2016 | Опубликовано в css | Нет комментариев »

Нам нравится использовать тени, закругленные углы, градиенты и другие свойства CSS3. Поэтому иногда мы создаем дизайн в таблице стилей больше, чем в программе Photoshop. Очень важно при создании дизайна учитывать возможности свойств CSS, чтобы готовый сайт быстро загружался и благодаря этому занимал более высокие позиции в поисковой выдаче.

 

 


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

Демонстрация работы – Скачать исходный код

Разметка HTML 

Ниже находится минимально необходимый код HTML:

<table class="features-table">
  <thead>
    <tr>
      <td></td>
      <td>Standard</td>
      <td>Professional</td>
      <td>Enterprise</td>
    </tr>
  </thead>
  <tfoot>
    <tr>
      <td></td>
      <td>$99</td>
      <td>$199</td>
      <td>$399</td>
    </tr>
  </tfoot>
  <tbody>
    <tr>
      <td>Custom domain</td>
      <td><img src="check.png" width="16" height="16" alt="check"></td>
      <td><img src="check.png" width="16" height="16" alt="check"></td>
      <td><img src="check.png" width="16" height="16" alt="check"></td>
    </tr>
    <tr>
      <td>Advanced control</td>
      <td><img src="check.png" width="16" height="16" alt="check"></td>
      <td><img src="check.png" width="16" height="16" alt="check"></td>
      <td><img src="check.png" width="16" height="16" alt="check"></td>
    </tr>
    <tr>
      <td>Unlimited support</td>
      <td><img src="cross.png" width="16" height="16" alt="cross"></td>
      <td><img src="check.png" width="16" height="16" alt="check"></td>
      <td><img src="check.png" width="16" height="16" alt="check"></td>
    </tr>
    <tr>
      <td>User registration</td>
      <td><img src="cross.png" width="16" height="16" alt="cross"></td>
      <td><img src="cross.png" width="16" height="16" alt="cross"></td>
      <td><img src="check.png" width="16" height="16" alt="check"></td>
    </tr>
  </tbody>
</table> 

Обратите внимание, что разметка компактная, кроме значков галочки и крестика, нужных для обозначения доступных и недоступных опций.

Чтобы было проще обращаться к ячейкам, используются такие элементы, как thead, tfoot и tbody. Ниже будет показано, что с помощью них проще задавать свойства ячейкам без добавления классов рядам и/или ячейкам.

Код CSS 

Для этого примера используются псевдоклассы CSS3, такие как :nth-child(n) и :first-child. Конечно, очень старые браузеры, такие как Internet Explorer версии 8 и ниже не смогут правильно отобразить стили таблицы, но все современные браузеры и многие устаревшие версии без проблем с этим справятся. Браузер Internet Explorer версии 9 отобразит таблицу, но в ней не будет градиентов, как и в браузере Opera Mini. Желательно добавить градиентам приставку производителя -webkit-, чтобы они отображались и в браузере UC Browser for Android.

.features-table {
  width: 100%;
  margin: 0 auto;
  border-collapse: separate;
  border-spacing: 0;
  text-shadow: 0 1px 0 #fff;
  color: #2a2a2a;
  background: #fafafa;
  background-image: linear-gradient(top, #fff, #eaeaea, #fff);
}

.features-table td {
  height: 50px;
  line-height: 50px;
  padding: 0 20px;
  border-bottom: 1px solid #cdcdcd;
  box-shadow: 0 1px 0 white;
  white-space: nowrap;
  text-align: center;
}

/*Тело*/
.features-table tbody td {
  text-align: center;
  font: normal 12px Verdana, Arial, Helvetica;
  width: 150px;
}

.features-table tbody td:first-child {
  width: auto;
  text-align: left;
}

.features-table td:nth-child(2),
.features-table td:nth-child(3) {
  background: #efefef;
  background: rgba(144,144,144,0.15);
  border-right: 1px solid white;
}

.features-table td:nth-child(4) {
  background: #e7f3d4;
  background: rgba(184,243,85,0.3);
}

/*Заголовок*/
.features-table thead td {
  font: bold 1.3em 'trebuchet MS', 'Lucida Sans', Arial;
  border-radius-topright: 10px;
  border-radius-topleft: 10px;
  border-top-right-radius: 10px;
  border-top-left-radius: 10px;
  border-top: 1px solid #eaeaea;
}

.features-table thead td:first-child {
  border-top: none;
}

/*Подвал*/
.features-table tfoot td {
  font: bold 1.4em Georgia;
  border-radius-bottomright: 10px;
  border-radius-bottomleft: 10px;
  border-bottom-right-radius: 10px;
  border-bottom-left-radius: 10px;
  border-bottom: 1px solid #dadada;
}
.features-table tfoot td:first-child {
  border-bottom: none;
}

Демонстрация работы – Скачать исходный код

Надеемся, Вам понравился этот урок и он Вам пригодится.

Автор урока Catalin Rosu

Смотрите также:


�


Коментарии запрещены.