Границы и рамки | |
Спецификация CSS описывает несколько свойств, с помощью которых можно создавать границу вокруг различных элементов и управлять ее видом. Границы — одна из наиболее слабых сторон CSS, т.к. браузеры содержат большое количество ошибок и по разному интерпретируют параметры. Старшие версии браузеров отображают рамки вокруг элементов более корректно.
Свойство | Значение | NC | IE | Op | Описание | Пример |
---|---|---|---|---|---|---|
padding-top padding-right padding-bottom padding-left padding |
значение % |
4+ | 4+ | 3+ | Отступ от границы элемента до его содержимого | table {padding: 15px 15px} |
border-top-width border-right-width border-bottom-width border-left-width border-width |
thin medium thick значение |
4+ | 4+ | 3+ | Ширина границы | P {border-top-width: 4px} |
border-color | цвет | 4+ | 4+ | 3+ | Цвет границы | P {border-color: red} |
border-style | none dotted dashed solid double groove ridge inset outset |
4+ 6 6 4+ 4+ 4+ 4+ 4+ 4+ |
4+ 5.5+ 5.5+ 4+ 4+ 4+ 4+ 4+ 4+ |
3+ | Стиль рамки | table {border-style: double} |
border-top border-right border-bottom border-left |
border-top-width border-style цвет |
6 | 4+ | 3+ | Определяет толщину, стиль и цвет каждой границы | table {border-top: solid 4px red; border-left: solid 4px blue} |
border | см. выше | 4+ | 4+ | 3+ | Задает толщину, стиль и цвет рамки | table {border: solid 4px red} |
NC — Netscape Communicator, IE — Microsoft Internet Explorer, Op — Opera; 4+ означает, что свойство поддерживается в браузере 4 версии и выше.
Для управления видом рамки предоставляется восемь значений параметра border-style. Результат их действия представлен на рисунке 1.
Рис.1. Стили рамок
Первые две — dotted и dashed стали поддерживаться браузерами Netscape и Internet Explorer только со старших версий.
Пример 1. Задание стиля рамки для таблицы<body>
<table border=0 cellpadding=4 cellspacing=0>
<tr><td> </td> <td>Чебурашка</td>
<td>Гена</td> <td>Шапокляк</td></tr>
<tr><td>Пики</td><td>6</td><td>2</td><td>4</td></tr>
<tr><td>Трефы</td><td>3</td><td>4</td><td>5</td></tr>
<tr><td>Бубны</td><td>9</td><td>2</td><td>1</td></tr>
<tr><td>Червы</td><td>4</td><td>3</td><td>5</td></tr>
</table>
</body>
</html>
В примере используется задание стиля для всей таблицы целиком и ее ячеек. Если определить стиль только для таблицы, вокруг нее появится рамка, но сами ячейки никак выделены не будут. Ниже представлен результат действия примера. Netscape 4.x в данном случае некорректно работает с рамками таблиц.
Чебурашка | Гена | Шапокляк | |
Пики | 6 | 2 | 4 |
Трефы | 3 | 4 | 5 |
Бубны | 9 | 2 | 1 |
Червы | 4 | 3 | 5 |
Чтобы установить границу определенной толщины и цвета, удобней использовать параметр border, который задает сразу несколько значений через пробел.
Пример 2. Использование параметра border<body>
<p><b>Грог по-рыбацки</b><br>
1 рыбу залить кипятком, через 5 минут процедить и добавить
грога. Подавать в чашках.
</p>
</body>
</html>
В примере используется двойная рамка, толщина которой складывается
из толщины линий и расстояния между ними. Чтобы рамка не соприкасалась
с текстом, задан отступ от рамки до содержимого параметром padding.
Грог по-рыбацки
1 рыбу залить кипятком, через 5 минут процедить и добавить грога.
Подавать в чашках.
1. Netscape 4 плохо работает с рамками таблиц. На рис. 2 представлена рамка, которая получается в других браузерах, а на рис.3 рамка (точнее ее отсутствие) в Netscape 4.x.
![]() |
![]() |
Рис.2. Рамка в Internet Explorer и Opera | Рис. 3. Рамка в Netscape 4.x |
При этом для параграфа, тега DIV и других элементов рамки показываются. Возникает соблазн использовать тег DIV (или SPAN) совместно с ячейками таблицы. Однако и тут нас ожидает разочарование, поскольку рамка будет рисоваться строго по содержимому элемента. Так, если указать ширину ячеек, поместить внутри них тег DIV, в стиле которого задать рисование рамки, то ширина ячеек изменится так, словно этот параметр и не задавался (рис. 4).
Рис. 4. Итоги использования тега DIV внутри ячеек таблицы
Это не таблица получается, а калькулятор какой-то!
Также Netscape 4.x не может устанавливать цвета границ индивидуальных
сторон элемента.
2. Internet Explorer 4/5 корректно работает с блочными элементами, такими, как параграф и таблица, но не умеет устанавливать отступы и рамки для встроенных элементов, например, тега SPAN.
Пример 3. Правильная работа в Internet Explorer 4/5Хвангур
Сварить на медленном огне воду. Добавить в нее хлива и хрольва.
Довести до кипения.