Використання таблиць

Влад Мержевич

Таблиці можна використовувати не лише для додавання колонок або вирівнювання елементів веб-сторінки, а й для створення різноманітних дизайнерських вишукань, таких як декоративна рамка чи тінь. Завдяки великій кількості параметрів як у самій таблиці, так і у її комірках, можна створювати практично будь-які декоративні елементи, поєднуючи таблиці та малюнки. Ці елементи легко можна адаптувати під будь-який макет, оскільки ширину таблиці можна встановлювати як у відсотках, так і у пікселях.

Створення декоративної рамки

Для створення бажаної рамки спочатку слід намалювати її у якомусь графічному редакторі. Хоча кінцева ширина рамки на веб-сторінці може коливатися у широких межах, наприклад, у випадку використання резинового макету, розмір кутів залишається постійним. Тому при створенні зображення слід спочатку орієнтуватися саме на кути. На мал. 1 показана рамка з закругленими кутами.

Тепер зображення рамки розрізаємо на дев'ять фрагментів, які позначені на мал. 2 помаранчевими лініями та номерами. Після розрізання малюнка на частини отримаємо дев'ять фрагментів, але усього вісім буде використано через те, що середня частина з номером 5 не потрібна, оскільки її замінить вміст рамки, наприклад, текст.

Фрагменти 2 і 8 мають занадто велику ширину, тому їх можна трохи обрізати. Аналогічно справа з фрагментами 4 і 6, їх скорочують за висотою. В результаті отримаємо вісім графічних зображень, представлених у табл. 1.

Табл. 1. Зображення, необхідні для створення рамки
ЗображенняПоложенняІм'я файлу
Лівий верхній кут01.gif
Верхня горизонтальна лінія02.gif
Правий верхній кут03.gif
Ліва вертикальна лінія04.gif
Права вертикальна лінія06.gif
Лівий нижній кут07.gif
Нижня горизонтальна лінія08.gif
Правий нижній кут09.gif

Після створення необхідних фрагментів формуємо таблицю розміром 3х3 комірки, як показано на мал. 3.

Ширина самої таблиці може задаватися як у пікселях, так і відсотках, від цього залежить розмір рамки. А от ширина і висота крайніх комірок повинна співпадати з розмірами відповідних зображень - кутів, вертикальних і горизонтальних ліній і встановлюватися в пікселях. Також в цій таблиці атрибути border, cellspacing і cellpadding повинні бути рівні нулю, інакше лінії не будуть з'єднуватися між собою.

Приклад 1. Створення декоративної рамки

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <title>Рамка</title>
  <style type="text/css">
   #content {
    padding: 5px; /* Поля навколо вмісту */
   }
  </style>
 </head>
 <body>
  <table width="400" border="0" cellspacing="0" cellpadding="0">
   <tr>
    <td height="13" width="12"><img src="images/01.gif" width="12" height="13" alt=""></td>
    <td style="background: url(images/02.gif)" height="13"></td>
    <td height="13" width="14"><img src="images/03.gif" width="14" height="13" alt=""></td>
   </tr>
   <tr>
    <td style="background: url(images/04.gif)"></td>
    <td id="content">Вміст</td>
    <td style="background: url(images/06.gif)"></td>
   </tr>
   <tr>
    <td height="13"><img src="images/07.gif" height="13" alt=""></td>
    <td style="background: url(images/08.gif)"></td>
    <td height="13"><img src="images/09.gif" height="13" alt=""></td>
   </tr>
  </table> 
 </body>
</html>

У цьому прикладі ширина всієї таблиці становить 400 пікселів, а ширина і висота окремих комірок дорівнює висоті розташованих у них зображень. Кути вставляються як звичайні зображення за допомогою тега <img>, а от вертикальні і горизонтальні лінії задаються за допомогою фону (стилевий атрибут background). Це дозволяє зробити нашу рамку масштабованою, тоді її розмір буде змінюватися в залежності від вмісту. Іншими словами, при заміні width="400" на width="100%", рамка буде відображатися так само коректно.

Не обов'язково вказувати ширину всіх комірок у колонці, досить задати ширину першої комірки, і нижчерозташовані комірки будуть підлаштовуватися під неї.

Даний спосіб дозволяє створювати рамки практично будь-якого виду.

Додавання тіні

Додавання тіні до зображення або блоку тексту відбувається практично аналогічно створенню декоративної рамки. Спочатку готуємо вихідне зображення з тінню (мал. 4), а потім шляхом розрізання перетворюємо його в набір фрагментів, які необхідно розподілити по комірках таблиці.

У кінцевому результаті знадобиться п'ять зображень, які представлені в табл. 2.

Табл. 2. Зображення, необхідні для створення тіні
ЗображенняПоложенняІм'я файла
Вертикальна тіньs01.gif
Горизонтальна тіньs02.gif
Правий нижній куток тініs03.gif
Правий верхній заглушкаs04.gif
Лівий нижній заглушкаs05.gif

Заглушки необхідні для того, щоб тінь мала згладжені краї та виглядала завершеною.

Тепер створюємо таблицю розміром 2х2 комірки (мал. 5), загальна ширина встановлюється за бажанням, а ширина правої колонки повинна дорівнювати ширині зображення з тінню (s01.gif). Висота нижніх комірок таблиці також повинна співпадати з висотою зображення тіні (s02.gif).

Щоб легко масштабувати блок з тінню, зображення встановлюються як фон за допомогою атрибута background тега <td> (приклад 2).

Приклад 2. Створення тіні

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <title>Тінь</title>
  <style type="text/css">
   #content {
    padding: 5px; /* Поля навколо тексту */
    background: #dd9; /* Колір фону */
   }
  </style>
 </head> 
 <body>
  <table width="200" cellspacing="0" cellpadding="0">
   <tr>
    <td id="content">Велетні повинні бути або великі, 
     або їх повинно бути багато, якщо вони маленькі.</td>
    <td width="9" valign="top" style="background: url(images/s01.gif)">
      <img src="images/s04.gif" width="9" height="10" alt=""></td>
   </tr>
   <tr>
    <td height="9" style="background: url(images/s02.gif)">
     <img src="images/s05.gif" width="10" height="9" alt=""></td>
    <td><img src="images/s03.gif" width="9" height="9                

Часті запитання