Расстояние между строками css таблицы. Промежуток между ячейками
Цель урока: Знакомство со свойствами таблицы и с принципами табличной верстки CSS
Рассмотрим основные CSS свойства таблицы
border
Свойство рассматривается в одном и включает одновременно несколько свойств:
- BORDER-STYLE (СТИЛЬ ГРАНИЦЫ)
- BORDER-WIDTH (ШИРИНА ГРАНИЦЫ)
- BORDER-COLOR (ЦВЕТ ГРАНИЦЫ)
Существует также сборное правило:
table.collapse{ border-collapse:collapse; } table.separate{ border-collapse:separate; }
Результат:
width и height
(высота и ширина таблицы)
Значения:
Пример:
text-align
(выравнивание по горизонтали)
Значения:
- center (по центру)
- left (по левому краю)
- right (по правому краю)
- justify (по ширине)
vertical-align
(выравнивание по вертикали)
Значения:
- baseline (по базовой линии)
- sub (как подиндекс)
- super (как надиндекс)
- top (по верхнему краю)
- middle (посередине)
- bottom (по нижнему краю)
- % (от высоты межстрочного интервала)
Пример:
padding
(внутренние отступы в таблице)
background-color (задний фон)
color (цвет текста)
Табличная верстка CSS
Благодаря большому числу свойств таблиц и вариациям их оформления, таблицы долгое время были некоторым станартом верстки веб-страниц. Если сделать границы таблицы невидимыми, то можно использовать ее отдельные ячейки в качестве отдельных блоков сраницы: шапка, меню, подвал и т.п.
Но это не совсем правильно, ведь каждому тегу есть свое назначение, и таблицы не должны были служить для верстки страниц. Однако отсутствие альтернативы сподвигало дизайнеров именно на такой метод верстки.
Сейчас есть другой способ — использование слоев, которые постепенно заменили таблицы в этом виде работы с веб-страницей. Однако и в наше время некоторые дизайнеры успешно используют табличную верстку.
Табличная верстка из двух колонок
Один из самых распространённых способов верстки — две колонки, т.е. страница делится на две части.
Пример: задать основной каркас страницы из двух колонок: первая — с фиксированным размером, вторая — на оставшуюся область браузера. Выполнить задание используя CSS стили ()
Выполнение:
</ head > <body > <table id = "maket" cellspacing = "0" > <tr > <td id = "left" > 1</ td > <td id = "right" > 2</ td > </ tr > </ table > ... |
1 | 2 |
Результат:
Пример: задать разный фон ячеек (чтобы разделить две колонки друг от друга) и установить расстояние между колонками (разделитель)
Выполнение:
Добавим новые свойства стилей:
/* для левой ячейки */ td#left{ width:200px; background: #ccc; border:1px solid black; /* временно обозначим границы */ } /* для правой ячейки */ td#right{ background: #fc3; border:1px solid black; /* временно обозначим границы */ } /* для разделителя */ #razdel{ width: 10px; /* Расстояние между колонками */ }
Все вместе:
</ head > <body > <table id = "maket" cellspacing = "0" > <tr > <td id = "left" > 1</ td > <td id = "razdel" > td > <td id = "right" > 2</ td > </ tr > </ table > |
1 | 2 |
Для разделителя была добавлена новая ячейка.
Результат:
Пример: сделать разделитель между колонками таблицы, используя пунктирную линию границы смежных ячеек
Выполнение:
Добавим новые свойства границ для ячеек:
/* для левой ячейки */ td#left{ width:200px; background: #ccc; /* Цвет фона левой колонки */ /* новое */ border-right: 1px dashed #000; /* Параметры правой пунктирной границы */ }
Все вместе:
</ head > <body > <table id = "maket" cellspacing = "0" > <tr > <td id = "left" > 1</ td > <td id = "right" > 2</ td > </ tr > </ table > |
1 | 2 |
Результат:
Табличная верстка из трех колонок
Существует понятие фиксированного или «резинового» макета верстки.
Фиксированный макет CSS
- При использовании фиксированного макета ширина всей таблицы задается в пикселях , и тогда, независимо от разрешения монитора и окна браузера, таблица будет всегда иметь одинаковую ширину.
- В таком случае ширину остальных колонок стоит также сделать фиксированной .
- Можно не указать ширину одной ячейки, тогда она будет вычислена автоматически, исходя из размеров остальных ячеек и всей таблицы.
Пример: создать шаблон страницы из трех колонок. Использовать фиксированный макет табличной верстки:
- левая колонка — 150 пикселей;
- средняя колонка — 400 пикселей;
Выполнение:
</ head > <body > <table id = "maket" cellspacing = "0" > <tr > <td id = "left" > 1</ td > <td id = "central" > 2</ td > <td id = "right" > 3</ td > </ tr > </ table > |
1 | 2 | 3 |
Результат:
Резиновый макет
- Ширина таблицы при использовании «резинового» дизайна устанавливается в % от ширины окна браузера . Т.о. при изменении окна браузера, изменяются и размеры таблицы.
- Ширина всех ячеек может устанавливаться в процентах .
- Второй вариант, когда ширина некоторых ячеек устанавливается в процентах , а некоторых — в пикселях .
Важно: Сумма ширины всех колонок должна получиться 100%, независимо от ширины таблицы.
Пример:
- левая колонка — 20%;
- средняя колонка — 40%;
- правая колонка — 40%;
Задать фон для колонок и визуально разделить колонки границей.
Выполнение:
</ head > <body > <table id = "maket" cellspacing = "0" > <tr > <td id = "left" > 1</ td > <td id = "central" > 2</ td > <td id = "right" > 3</ td > </ tr > </ table > |
1 | 2 | 3 |
Результат:
Рассмотрим второй вариант, когда ширина центральной колонки автоматически подбирается браузером; примером может служить рисунок:
Пример: создать шаблон страницы из трех колонок. Использовать резиновый макет табличной верстки:
- левая колонка — 150 пикселей;
- средняя колонка — 40%;
- правая колонка — 200 пикселей;
Задать фон для колонок и визуально разделить колонки границей.
Выполнение:
</ head > <body > <table id = "maket" cellspacing = "0" > <tr > <td id = "left" > 1</ td > <td id = "central" > 2</ td > <td id = "right" > 3</ td > </ tr > </ table > |
1 | 2 | 3 |
Результат:
Результат будет примерно такой же, только «растягивание» будет происходит за счет центральной колонки.
Использование вложенной таблицы в резиновом макете
Если ширина двух колонок устанавливается в процентах, а третьей - в пикселях, обойтись одной таблицей не получится
. Так, если ширина всей таблицы равна 100 процентов, первой колонки - 200 пикселей, а оставшихся колонок по 20 процентов, то простое вычисление показывает, что размер первой колонки получается равным 60 процентов. В таком случае заданное значение в пикселях браузером не воспримется, а размер будет установлен в процентах.
- Исходная таблица создается с двумя ячейками. Ширина таблицы задается в процентах .
- Для левой ячейки (первой колонки) устанавливается ширина в пикселях .
- Ширина правой ячейки (основа для других колонок) не указывается . Внутрь этой ячейки вставляется вторая таблица, тоже состоящая из двух ячеек.
- У ячеек вложенной таблицы ширина устанавливается в процентах .
- Ширина внутренней таблицы должна быть установлена в 100 процентов , чтобы эта таблица занимала все свободное пространство во внешней таблице.
- Ширина центральной и правой колонки вычисляется относительно ширины ячейки, а не внешней таблицы в целом.
Пример: создать шаблон страницы из трех колонок. Использовать резиновый макет с вложенной таблицей:
- левая колонка — 150 пикселей;
- средняя колонка — 60%;
- правая колонка — 40%;
Задать фон для колонок.
Выполнение:
Атрибуты тегов cellpadding и cellspacing здесь необходимы, для того, чтобы не было «зазора» между таблицами. Мы уже выяснили с вами, что у HTML-таблиц есть рамки , хотя по умолчанию их браузеры и не показывают. Но это еще не все, у каждой ячейки таблицы тоже есть рамка, которая называется граница ячейки . Но и это еще не все, используя специальные атрибуты тега Для изменения расстояния между ячейками (их границами) и от ячеек до рамки таблицы в теге Чтобы установить внутренние отступы от границ ячеек до их содержимого необходимо в теге Обратите внимание, что браузеры по умолчанию устанавливают небольшие (в два пикселя) значения cellspacing и cellpadding , поэтому чтобы убрать расстояния вовсе - установите у атрибутов значения ноль (0). Пример границ, рамок и отступов HTML-таблиц
Таблица только с установленными рамкой и границами ячеек:
Результат в браузере Таблица с измененными отступами и расстояниями: Естественно не обязательно рисовать у таблицы рамку и границы ячеек, чтобы изменять внутренние отступы и расстояния между ячейками. Согласно синтаксиса HTML, браузеры прибавляют значения cellspacing и cellpadding к размерам таблицы и ее ячеек. Например, если вы установите ширину ячейки в 100 пикселей и cellpadding= "10" - браузеры прибавят к ширине 20 пикселей (по 10 слева и справа) и она станет равна 120 пикселей. В общем, по ходу дела разберетесь. Отступление от темы или как убрать отступы по краям страницыИзначально все браузеры устанавливают небольшие отступы по краям HTML-страницы, которые часто бывают не нужны, поэтому сейчас вы научитесь их убирать. Вообще, эту информацию следовало бы поместить в начало учебника, но там бы она вряд ли вам пригодилась. В свое время у тега существовало четыре атрибута, которые устанавливали размер этих отступов для каждой стороны страницы: topmargin (сверху), rightmargin (справа), bottommargin (снизу) и leftmargin (слева). Сейчас эти атрибуты устарели, поэтому будем применять стили (CSS). Итак, изменить расстояния отступов по краям страницы можно несколькими способами, я покажу вам два, а о третьем узнаете, если решите изучать CSS.Способ первый. B теге указать атрибут style со следующими значениями: style= "margin:0" >... - убирает отступы сразу со всех сторон HTML-страницы. style= "margin:сверху справа снизу слева" >... - регулирует размер отступов для каждой стороны по часовой стрелке. Как правило используются размеры в пикселях, например: style= "margin:5px 3px 4px 5px" >...Второй и более удобный способ. В теге
Домашнее задание. В этом уроке я тоже не буду все подробно описывать - только общие моменты. Для полноты картины посмотрите результат примера.
Задает расстояние между границами ячеек в таблице. Атрибут border-spacing не работает в случае, когда для таблицы установлен параметр border-collapse со значением collapse . Синтаксисborder-spacing: значение [значение] АргументыОдно значение устанавливает одновременно расстояние по вертикали и горизонтали между границами ячеек. Если аргументов два, то первое определяет горизонтальное расстояние, а второе - вертикальное.
Результат данного примера показан ни рис. 1. Рис. 1. Применение параметра border-spacing ПримечаниеЕсли к тегу
|