Оформление списков и таблиц при помощи CSS. | Учебно-методический материал:
Инструкционно-технологическая карта №9
Тема: Оформление списков и таблиц при помощи CSS.
Цель: научиться осуществлять оформление списков и таблиц при помощи css и фреймворка Bootstrap.
Оборудование: персональный компьютер с выходом в Интернет, MS Word, Блокнот, инструкционно-технологическая карта №9.
Время выполнения: 2 часа.
Теоретическая часть к практической работе
Оформление таблиц с помощью CSS классов Bootstrap
Базовое оформление таблиц
Для придания таблицы базового оформления необходимо добавить класс .table к элементу table:
Например:
№ п/п | Имя | Фамилия | |
---|---|---|---|
1 | Иван | Чмель | ivan@mail. ru |
2 | Петр | Щербаков | [email protected] |
3 | Юрий | Голов | [email protected] |
Bootstrap 3 — оформление таблицы с помощью класса table
Оформление таблиц по типу полос «зебры»
Для выделения нечётных строк основной части таблицы (
…) с помощью тёмного фона добавьте дополнительно класс .table-striped к классу .table.
Внимание: Для оформления таблиц по типу полос «зебры» в Twitter Bootstrap 3 используется селектор :nth-child, который не поддерживается в браузере Internet Explorer 8.
Например:
№ п/п | Имя | Фамилия | |
---|---|---|---|
1 | Иван | Чмель | ivan@mail. ru |
2 | Петр | Щербаков | [email protected] |
3 | Юрий | Голов | [email protected] |
Bootstrap 3 — оформление таблицы с помощью класса table-striped
Создание таблицы с границами
Также вы можете добавлять границы для всех ячеек таблицы, просто добавив дополнительный класс Bootstrap .table-bordered к базовому классу .table.
№ п/п | Имя | Фамилия | |
---|---|---|---|
1 | Иван | Чмель | [email protected] |
2 | Петр | Щербаков | petr@mail. ru |
3 | Юрий | Голов | [email protected] |
Выше приведенный пример будет выглядеть примерно так:
№ п/п Имя Фамилия E-mail
1 Иван Чмель [email protected]
2 Петр Щербаков [email protected]
3 Юрий Голов [email protected]
Создание таблицы с интересным режимом (подсвечивание строк при наведении на них курсора)
Что бы включить подсвечивание строк таблицы, Вам необходимо добавить класс .table-hover к базовому классу .table элемента
№ п/п | Имя | Фамилия | |
---|---|---|---|
1 | Иван | Чмель | ivan@mail. ru |
2 | Петр | Щербаков | [email protected] |
3 | Юрий | Голов | [email protected] |
Выше приведенный пример будет выглядеть примерно так:
№ п/п Имя Фамилия E-mail
1 Иван Чмель [email protected]
2 Петр Щербаков [email protected]
3 Юрий Голов [email protected]
Создание сжатой или компактной таблицы
Вы можете также сделать свои таблицы более компактными посредством добавления дополнительного класса .table-condensed к базовому классу .table. Класс .table-condensed делает таблицу компактной за счет уменьшения отступов в ячейках наполовину.
№ п/п | Имя | Фамилия | |
---|---|---|---|
1 | Иван | Чмель | ivan@mail. ru |
2 | Петр | Щербаков | [email protected] |
3 | Юрий | Голов | [email protected] |
Выше приведенный пример будет выглядеть примерно так:
Bootstrap 3 — Создание сжатой или компактной таблицы
Дополнительные акцентные классы для строк таблицы
Существуют вспомогательные классы, которые позволяют выделить строку или отдельные ячейки различным цветом посредством окраски их фона.
№ чека | Способ платежа | Дата платежа | Сумма |
---|---|---|---|
2803 | Наличные | 04. 08.2014 | 2005.00 |
2804 | Карта VISA | 04.08.2014 | 1270.00 |
2805 | Наличные | 05.08.2014 | 1356.50 |
2806 | Наличные | 05.08.2014 | 5200.05 |
2807 | Карта VISA | 06.08.2014 | 315.70 |
Вышеприведенный пример будет выглядеть примерно так:
Bootstrap 3 — Дополнительные акцентные классы для строк таблицы
Создание адаптивной таблицы с помощью Bootstrap
С помощью Twitter Bootstrap 3 Вы можете также создавать адаптивные таблицы, которые можно просматривать на маленьких устройствах (ширина экрана, у которых меньше 768px) с помощью полосы прокрутки. При просмотре адаптивных таблиц на других устройствах, имеющих экран шириной, больше чем 768px полоса прокрутки будет отсутствовать.
№ п/п | Имя | Фамилия | Увлечения | |
---|---|---|---|---|
1 | Иван | Чмель | [email protected] | Плавание, бодибилдинг, боевые искусства |
2 | Петр | Щербаков | [email protected] | Европейские танцы, Стрип-денс, Ролики |
3 | Юрий | Голов | yuri@mail. ru | Горный велосипед, скейтборд, катание на квадрацикле |
Табличные теги, поддерживаемые Twitter Bootstrap 3
В следующей таблице перечислены поддерживаемые табличные элементы HTML и их назначение.
Тег Описание
Специальная табличная ячейка для заголовков столбцов | Табличная ячейка, предназначенная для размещения основных табличных данных Практическая часть Задание 1. Оформить таблицу с помощью CSS классов Bootstrap. (предварительно загрузив архив Bootstrap из приложения к практической работе, так же ознакомиться со ссылками-примерами работы с Bootstrap). Задание 2. Оформить список с помощью CSS классов Bootstrap. Контрольные вопросы
Методическая разработка мастер — класса Тема: Оформление текстового документа со вставкой таблицы.данная методическая разработка может быть использована в качестве работы с таблицами в текстовом редакторе WORD… Конспект урока по Информатике и ИКТ «Вставка и оформление таблиц»Данный материал может быть использован в преподавании Информатики как в школе, так и учреждениях СПО…. Открытый урок по информатике: «Форматирование ячеек, оформление таблиц».Открытый урок по информатике: «Форматирование ячеек, оформление таблиц». Педагогическая тема: «Использование технологий проблемного обучения на уроках информатики». Адаптирован… Методическая разработка урока «Решение задач с помощью электронных таблиц»Методическая разработка урока «Решение задач с помощью электронных таблиц». .. Инструкция для выполнения заданий по расчету загрузки (судна, вагона, контейнера) при помощи сводных таблиц в MS ExcelИнструкция для выполнения заданий по расчету загрузки (судна, вагона, контейнера) при помощи сводных таблиц в MS Excel… Практическое занятие 4. Составить прогноз товарооборота торгового предприятия на основе данных таблицы с помощью линии тренда, инструмента экспоненциальное сглаживание и т.д.Составить прогноз товарооборота торгового предприятия на основе данных таблицы с помощью линии тренда, инструмента экспоненциальное сглаживание и т.д…. Практическое занятие 5. Составить прогноз товарооборота торгового предприятия по данным таблицы с помощью функции ЛИНЕЙН, ТЕНДЕНЦИЯ и т.д.Составить прогноз товарооборота торгового предприятия по данным таблицы с помощью функции ЛИНЕЙН, ТЕНДЕНЦИЯ и т.д…. Поделиться: |
---|
НОУ ИНТУИТ | Лекция | Оформление таблиц с помощью CSS
Аннотация: В лекции рассматриваются свойства CSS для управления основными параметрами таблицы.
Ключевые слова: HTML, css, таблица, ширина блока, ‘vertical-align’, ‘border-collapse’, collapse, стиль оформления, разрешение конфликтов, CSS2, ‘border-spacing’, ‘caption-side’, дизайн
Таблицы обеспечивают возможность расположения многомерных данных по строкам и столбцам. Структура и содержание таблицы описываются с помощью элементов HTML, а ее оформление задается с помощью правил CSS. Визуальное оформление таблиц состоит в задании правил отображения заголовков и ячеек таблицы, их выравнивания относительно друг друга, изображения рамок вокруг них и т.д. Далее будут рассмотрены основные приемы визуального оформления таблиц.
Для дальнейшего изложения будет использоваться следующая нестилизованная таблица, представленная на рисунке 15.1.
Рис. 15.1.
Ширина таблицы и ячеек
intuit.ru/2010/edi»>Для определения ширины таблицы и ячеек используется свойство width, в качестве значения которого принимаются любые единицы длины, принятые в CSS (пикселы, дюймы, пункты и др.) При использовании процентной записи ширина элемента вычисляется в зависимости от ширины родительского элемента, либо окна браузера. По умолчанию, браузер использует настройку TABLE {width: auto;}, что приводит к выводу таблицы во всю ширину окна браузера.Следующие правила задают ширину таблицы в 100% доступной ширины, и ширину ячеек таблицы по 33% для каждой:
TABLE {width: 100%;} TH, TD {width: 33%;}
Браузеры неодинаково работают с шириной, кроме того, результат отображения зависит от используемого DOCTYPE. Так, в Internet Explorer при использовании переходного DOCTYPE или при его отсутствии, если содержимое превышает заданную ширину, то блок изменяет свои размеры, подстраиваясь под содержимое.
В противном случае ширина блока равна значению width. В то время, как для строгого DOCTYPE ширина формируется путем сложения значений width, padding, margin и border. Если содержимое блока не помещается в заданные размеры, оно отображается поверх.Выравнивание в таблице
Часто необходимо менять установленные по умолчанию настройки выравнивания текста в таблице. CSS позволяет задавать выравнивание текста в таблице по горизонтали и вертикали. Для этой цели служат свойства text-align и vertical-align. Два данных свойства подробно описаны в «Модель компоновки CSS» , поэтому ниже приведен лишь пример применения данных свойств к оформлению текста в ячейках таблицы:
TH, TD { width: 33%; text-align: left; vertical-align: top; }
Отображение границ
Чтобы четко отделить содержимое одной ячейки от другой, к ним добавляются границы. За создание границ отвечает атрибут border элемента TABLE, который определяет толщину рамки. Однако, рамки, созданные с помощью данного атрибута, получаются разными по своему виду в каждом браузере. Чтобы этого избежать, рекомендуется пользоваться CSS-свойством border, применяя его к таблице или ее ячейкам (элементам TD или TH ).
Составное свойство border позволяет задать толщину, цвет и стиль границы всей таблицы и отдельных ее ячеек. Данное свойство и его производные подробно описаны в «Модель компоновки CSS» , поэтому ниже приведен лишь пример использования данных свойств для оформления таблиц:
TABLE {border: 1px solid #000;} TH, TD {border-left: 1px dashed #000;}
Поскольку границы создаются для каждой ячейки, то в местах соприкосновения ячеек получается граница удвоенной толщины. Самым простым способом устранения указанной особенности является применение свойства border-collapse, которое устанавливает, как именно отображать границы вокруг ячеек. Данное свойство имеет два значения: collapse и separate. Значение collapse заставляет браузер анализировать места соприкосновения ячеек в таблице и убирать в ней двойные линии. При этом между ячейками остается только одна граница, одновременно принадлежащая обеим ячейкам. То же правило соблюдается и для внешних границ, когда вокруг самой таблицы добавляется рамка. При использовании значения separate, которое устанавливается по умолчанию, вокруг каждой ячейки отображается своя собственная рамка, а в местах соприкосновения ячеек показываются сразу две линии.
Различия между двумя значениями свойства border-collapse представлены на рисунке 15.2. Первая таблица соответствует границам удвоенной толщины и задается правилом
TABLE { border: 1px solid #000; border-collapse: separate;}
Вторая таблица соответствует схлопнувшимся границам и задается правилом
TABLE { border: 1px solid #000; border-collapse: collapse;}
Рис. 15.2. Результат применения различных значений свойства border-collapse
Когда задается схлопывание границ, необходимо помнить, что это может создавать проблемы, если к границам смежных ячеек были применены различные стили оформления. Схлопывание границ с различными стилями приводит к конфликтам, которые разрешаются согласно правилам разрешения конфликтов границ таблиц спецификации CSS2 (http://www.w3.org/TR/REC-CSS2/tables.html#border-conflict-resolution). Данные правила определяют, какие стили «выигрывают» при схлопывании границ.
Расстояние между ячейками
CSS позволяет также увеличивать расстояния между ячейками, используя свойство border-spacing. Данное свойство задает расстояние между границами ячеек в таблице и не действует в случае, когда для таблицы установлен параметр border-collapse со значением collapse. Одно значение устанавливает одновременно расстояние по вертикали и горизонтали между границами ячеек.
Следующие правило позволяет установить расстояние между границами ячеек 150 пикселей по горизонтали и 20 пикселей по вертикали:
TABLE { border-collapse: separate; border-spacing: 150px 20px;}
Браузер Internet Explorer до восьмой версии не обрабатывает свойство border-spacing, поэтому пользоваться данным свойством надо с осторожностью.
Заполнение
Для ячеек, которые имеют границу, можно добавить свободное пространство между границами ячеек и их содержимым. Для этого используется свойство padding.
Данное свойство рассмотрено в «Модель компоновки CSS» , поэтому ниже будет приведен пример применения данного свойства к оформлению ячеек:
TH, TD { border: 1px solid #000; border-collapse: collapse; padding: 0. 3em; }
Размещение заголовка таблицы
По умолчанию, заголовок таблицы размещается вверху таблицы. Однако в некоторых браузерах возможно переместить заголовок таблицы в другое место с помощью свойства caption-side. Значениями данного свойства являются top, bottom, left и right, размещающие заголовок вверху, внизу, слева или справа таблицы. В некоторых браузерах, как, например, Internet Explorer, доступны только два значения top и bottom. Следующее правило поместить заголовок таблицы под ней:
CAPTION {caption-side: bottom;}
Аналогичного результата можно достичь, используя свойство
TABLE {caption-side: bottom;}
Таблица в CSS — шпаргалка для начинающих
Внешний вид HTML-таблиц можно существенно усовершенствовать с помощью CSS:
- Границы таблицы CSS
- Объединение границ в таблице CSS
- Ширина и высота таблицы CSS
- Выравнивание по горизонтали
- Выравнивание по вертикали
- Поля таблицы CSS
- Горизонтальные разделители
- Таблица с hover-эффектом
- Полосатая таблица
- Цвет таблицы
- Адаптивная таблица
- Больше примеров
- Создаем причудливую таблицу
- Выставляем расположение подписи таблицы
- CSS-свойства таблицы
Чтобы задать границы таблицы CSS , воспользуйтесь свойством border.
В примере ниже элементам <table>, <th> и <td> задается черная граница:
Пример
table, th, td { border: 1px solid black; }
Обратите внимание, что у таблицы в приведенном выше примере двойная граница. Это из-за того, что и у <table>, и у <th> и <td> выставлены отдельные свойства границы.
Свойство border-collapse определяет, нужно ли объединять двойную границу в одну:
Пример
table { border-collapse: collapse; } table, th, td { border: 1px solid black; }
Если вам нужна простая контурная рамка вокруг всей красивой таблицы CSS, то свойство border нужно применять к элементу <table>:
Пример
table { border: 1px solid black; }
Ширина и высота таблицы определяется свойствами width и height.
В приведенном ниже примере ширина таблицы выставлена на 100%, а высота элементов <th> на 50px:
Пример
table { width: 100%; } th { height: 50px; }
Свойство text-align предназначено для горизонтального выравнивания (по левому и правому краю, по центру) содержимого элементов <th> и <td>.
По умолчанию, содержимое элементов <th> выравнивается по центру, а элементов <td> — по левому краю.
В приведенном ниже примере оформления таблицы CSS к содержимому элементов <th> применяется выравнивание по левому краю:
Пример
th { text-align: left; }
Свойство vertical-align предназначено для вертикального выравнивания (по верхней и нижней границе, а также посередине) содержимого внутри элементов <th> и <td>.
По умолчанию, содержимое <th> и <td> выравнивается посередине.
В приведенном ниже примере к содержимому элементов <td> применяется вертикальное выравнивание по нижней границе:
Пример
td { height: 50px; vertical-align: bottom; }
Для регулирования расстояния между границей элемента и его содержимым воспользуйтесь свойством padding (для элементов <td> и <th>):
Пример
th, td { padding: 15px; text-align: left; }
Можно использовать свойство border-bottom в элементах <th> и <td>, чтобы отделить строки CSS таблицы друг от друга горизонтальным разделителем:
Пример
th, td { border-bottom: 1px solid #ddd; }
Воспользуйтесь селектором :hover в элементе <tr>, чтобы подсветить ячейки при наведении на них курсора мыши.
Пример
tr:hover {background-color: #f5f5f5}
Чтобы получить CSS таблицы со строками разного цвета, используйте селектор nth-child(), и задайте всем четным и нечетным строкам разный цвет.
Пример
tr:nth-child(even) {background-color: #f2f2f2}
В приведенном ниже примере показано, как задавать цвет фона и текста для элементов <th>:
Пример
th { background-color: #4CAF50; color: white; }
Адаптивная таблица CSS будет показывать горизонтальный скроллинг, если окажется слишком большой для страницы или экрана.
Добавьте <div> с заданным свойством overflow-x: auto для элемента <table>, чтобы сделать таблицу адаптивной.
Пример
<div> <table> ... содержимое таблицы ... </table> </div>
В этом примере показано, как можно создать забавную таблицу с помощью каскадных таблиц стилей CSS.
В данном примере показано, как можно расположить подпись к таблице при помощи CSS.
Свойства | Описание |
border | Позволяет одним выражением установить сразу все границы |
border-collapse | Позволяет объединять двойные границы в одну |
border-spacing | Позволяет указать расстояние между смежными ячейками |
caption-side | Отвечает за положение подписи к таблице |
empty-cells | Позволяет показать или скрыть границы для пустых ячеек в таблице |
table-layout | Позволяет использовать в таблице шаблонный алгоритм |
Пожалуйста, опубликуйте ваши отзывы по текущей теме материала. Мы очень благодарим вас за ваши комментарии, дизлайки, отклики, подписки, лайки!
Валентин Сейидовавтор-переводчик статьи «CSS Tables»
Bootstrap 3 — Таблицы
На этом уроке Вы научитесь создавать HTML таблицы и оформлять их с помощью CSS классов платформы Twitter Bootstrap 3.
На веб-страницах таблицы используются для того, чтобы представить Ваши данные в виде двухмерной структуры, состоящей из строк, столбцов и ячеек.
Создание таблицы осуществляется посредством тегов языка HTML. После создания таблицы веб-разработчик переходит к её оформлению с помощью написания правил CSS. Данный процесс можно значительно упростить, используя большое количество готовых CSS классов платформы Twitter Bootstrap 3. Процесс оформления таблицы с помощью Twitter Bootstrap осуществляется путём добавления к таблице или к её различным частям (строке, ячейке) соответствующих классов. Задавая те или иные классы, Вы тем самым задаёте то или иное оформление таблицы.
Основы создания таблиц в HTML
Создание таблицы в HTML начинается с элемента table
(<table>
…</table>
), внутри которого помещают шапку (<thead>
…</thead>
) и основное содержимое (<tbody>
…</tbody>
). Далее в элемент thead
и tbody
помещают строки (<tr>
…</tr>
). После этого в элементе tr
(<tr>
…</tr>
) создают ячейки с помощью элементов td
(<td>
…</td>
) и th
(<th>
…</th>
), внутрь которых помещают содержимое, которое должно выводиться в этой ячейке. Элемент th
(<th>
…</th>
) обычно используют в шапке, т.к. он придаёт жирное начертание тексту и выравнивает его по центру.
Для объединения ячеек по вертикали и горизонтали предназначены следующие атрибуты:
rowspan="N"
— объединяетN
ячеек по вертикали;colspan="N"
— объединяетN
ячеек по горизонтали.
Применять данные атрибуты можно для элементов td
и th
.
Например:
<table> <thead> <tr> <th>Заголовок 1</th> <th>Заголовок 2</th> <th>Заголовок 3</th> </tr> </thead> <tbody> <tr> <td rowspan="3">Содержимое ячейки</td> <td colspan="2">Содержимое ячейки</td> </tr> <tr> <td>Содержимое ячейки</td> <td>Содержимое ячейки</td> </tr> <tr> <td>Содержимое ячейки</td> <td rowspan="2">Содержимое ячейки</td> </tr> <tr> <td colspan="2">Содержимое ячейки</td> </tr> </tbody> </table>
Для указанания названия таблицы используется элемент caption
(<caption>
. ..</caption>
), который размещается внутри элемента table
сразу же после его открывающего тега.
<table> <caption> Название таблицы </caption> ... </table>
Оформление таблиц с помощью CSS классов Bootstrap
Базовое оформление таблиц
Для придания таблицы базового оформления необходимо добавить класс .table
к элементу table
:
<table> ... </table>
Оформление таблиц по типу полос «зебры»
Для выделения нечётных строк основной части таблицы (<tbody>
…</tbody>
) с помощью тёмного фона добавьте дополнительно класс .table-striped
к классу .table
.
<table> ... </table>
Внимание: Для оформления таблиц по типу полос «зебры» в Twitter Bootstrap 3 используется селектор :nth-child
, который не поддерживается в браузере Internet Explorer 8.
Создание таблицы с границами
Также вы можете добавлять границы для всех ячеек таблицы, просто добавив дополнительный класс Bootstrap .table-bordered к базовому классу .table.
<table> <thead> <tr> <th>№ п/п</th> <th>Имя</th> <th>Фамилия</th> <th>E-mail</th> </tr> </thead> <tbody> <tr> <td>1</td> <td>Иван</td> <td>Чмель</td> <td>[email protected]</td> </tr> <tr> <td>2</td> <td>Петр</td> <td>Щербаков</td> <td>[email protected]</td> </tr> <tr> <td>3</td> <td>Юрий</td> <td>Голов</td> <td>yuri@mail. ru</td> </tr> </tbody> </table>
Выше приведенный пример будет выглядеть примерно так:
№ п/п | Имя | Фамилия | |
---|---|---|---|
1 | Иван | Чмель | [email protected] |
2 | Петр | Щербаков | [email protected] |
3 | Юрий | Голов | [email protected] |
Создание таблицы с интересным режимом (подсвечивание строк при наведении на них курсора)
Что бы включить подсвечивание строк таблицы, Вам необходимо добавить класс .table-hover к базовому классу .table элемента <table>.
<table> <thead> <tr> <th>№ п/п</th> <th>Имя</th> <th>Фамилия</th> <th>E-mail</th> </tr> </thead> <tbody> <tr> <td>1</td> <td>Иван</td> <td>Чмель</td> <td>ivan@mail. ru</td> </tr> <tr> <td>2</td> <td>Петр</td> <td>Щербаков</td> <td>[email protected]</td> </tr> <tr> <td>3</td> <td>Юрий</td> <td>Голов</td> <td>[email protected]</td> </tr> </tbody> </table>
Выше приведенный пример будет выглядеть примерно так:
№ п/п | Имя | Фамилия | |
---|---|---|---|
1 | Иван | Чмель | [email protected] |
2 | Петр | Щербаков | [email protected] |
3 | Юрий | Голов | yuri@mail. ru |
Создание сжатой или компактной таблицы
Вы можете также сделать свои таблицы более компактными посредством добавления дополнительного класса .table-condensed к базовому классу .table. Класс .table-condensed делает таблицу компактной за счет уменьшения отступов в ячейках наполовину.
<table> <thead> <tr> <th>№ п/п</th> <th>Имя</th> <th>Фамилия</th> <th>E-mail</th> </tr> </thead> <tbody> <tr> <td>1</td> <td>Иван</td> <td>Чмель</td> <td>[email protected]</td> </tr> <tr> <td>2</td> <td>Петр</td> <td>Щербаков</td> <td>petr@mail. ru</td> </tr> <tr> <td>3</td> <td>Юрий</td> <td>Голов</td> <td>[email protected]</td> </tr> </tbody> </table>
Выше приведенный пример будет выглядеть примерно так:
№ п/п | Имя | Фамилия | |
---|---|---|---|
1 | Иван | Чмель | [email protected] |
2 | Петр | Щербаков | [email protected] |
3 | Юрий | Голов | [email protected] |
Дополнительные акцентные классы для строк таблицы
Существуют вспомогательные классы, которые позволяют выделить строку или отдельные ячейки различным цветом посредством окраски их фона.
<table> <thead> <tr> <th>№ чека</th> <th>Способ платежа</th> <th>Дата платежа</th> <th>Сумма</th> </tr> </thead> <tbody> <tr> <td>2803</td> <td>Наличные</td> <td>04.08.2014</td> <td>2005.00</td> </tr> <tr> <td>2804</td> <td>Карта VISA</td> <td>04.08.2014</td> <td>1270.00</td> </tr> <tr> <td>2805</td> <td>Наличные</td> <td>05.08.2014</td> <td>1356.50</td> </tr> <tr> <td>2806</td> <td>Наличные</td> <td>05. 08.2014</td> <td>5200.05</td> </tr> <tr> <td>2807</td> <td>Карта VISA</td> <td>06.08.2014</td> <td>315.70</td> </tr> </tbody> </table>
Выше приведенный пример будет выглядеть примерно так:
№ чека | Способ платежа | Дата платежа | Сумма |
---|---|---|---|
2803 | Наличные | 04.08.2014 | 2005.00 |
2804 | Карта VISA | 04.08.2014 | 1270.00 |
2805 | Наличные | 05.08.2014 | 1356.50 |
2806 | Наличные | 05.08.2014 | 5200.05 |
2807 | Карта VISA | 06. 08.2014 | 315.70 |
Создание адаптивной таблицы с помощью Twitter Bootstrap
С помощью Twitter Bootstrap 3 Вы можете также создавать адаптивные таблицы, которые можно просматривать на маленьких устройствах (ширина экрана, у которых меньше 768px) с помощью полосы прокрутки. При просмотре адаптивных таблиц на других устройствах, имеющих экран шириной, больше чем 768px полоса прокрутки будет отсутствовать.
<div> <table> <thead> <tr> <th>№ п/п</th> <th>Имя</th> <th>Фамилия</th> <th>E-mail</th> <th>Увлечения</th> </tr> </thead> <tbody> <tr> <td>1</td> <td>Иван</td> <td>Чмель</td> <td>ivan@mail. ru</td> <td>Плавание, бодибилдинг, боевые искусства</td> </tr> <tr> <td>2</td> <td>Петр</td> <td>Щербаков</td> <td>[email protected]</td> <td>Европейские танцы, Стрип-денс, Ролики</td> </tr> <tr> <td>3</td> <td>Юрий</td> <td>Голов</td> <td>[email protected]</td> <td>Горный велосипед, скейтборд, катание на квадрацикле</td> </tr> </tbody> </table> </div>
Выше приведенный пример будет выглядеть примерно так:
№ п/п | Имя | Фамилия | Увлечения | |
---|---|---|---|---|
1 | Иван | Чмель | ivan@mail. ru | Плавание, бодибилдинг, боевые искусства |
2 | Петр | Щербаков | [email protected] | Европейские танцы, Стрип-денс, Ролики |
3 | Юрий | Голов | [email protected] | Горный велосипед, скейтборд, катание на квадрацикле |
Табличные теги, поддерживаемые Twitter Bootstrap 3
В следующей таблице перечислены поддерживаемые табличные элементы HTML и их назначение.
Тег | Описание |
---|---|
<table> | Контейнер для элементов, определяющих содержимое таблицы |
<caption> | Заголовок таблицы |
<thead> | Контейнер для элементов, формирующих «шапку» таблицы |
<tbody> | Контейнер для элементов, формирующих основную часть таблицы |
<tr> | Контейнер для ячеек, являющихся элементами одной строки |
<th> | Специальная табличная ячейка для заголовков столбцов |
<td> | Табличная ячейка, предназначенная для размещения основных табличных данных |
Глава 3 Создание таблиц.
HTML, XHTML и CSS на 100% Глава 3 Создание таблиц. HTML, XHTML и CSS на 100%ВикиЧтение
HTML, XHTML и CSS на 100%
Квинт Игорь
Содержание
Глава 3
Создание таблиц
3.1. Что такое таблица
3.2. Создание тела таблицы
3.3. Ячейки таблицы
3.4. Граница таблицы
3.5. Ширина и высота таблицы и ячеек
3.6. Группировка строк и столбцов
3.7. Выравнивание таблицы и содержимого ячеек
3.8. Объединение ячеек таблицы
3.9. Установка фонового цвета или рисунка ячейки
3.10. Создание вложенных таблиц
В технической литературе и в различных документах таблицы используют, чтобы расположить информацию в простом и понятном виде. О том, как использовать таблицы в своих сайтах, вы узнаете в этой главе.
В языке HTML таблицы используются в двух случаях: для представления числовых данных, разбитых по строкам и столбцам, или как средство форматирования веб-страниц, задания взаимного расположения элементов страницы. Ячейки таблицы могут содержать любые HTML-элементы, например заголовки, списки, абзацы, фигуры, графику, а также элементы форм. Фактически весь сайт расположен в большой сложной таблице (рис. 3.1).
Рис. 3.1. Пример использования HTML-таблицы при создании сайта
Примечание
Как и в прошлой главе, напоминаю, что оформление таблицы согласно требованиям языка XHTML должно выполняться средствами CSS. Все элементы и атрибуты форматирования признаны в спецификации языка HTML 4. 01 нежелательными.
Данный текст является ознакомительным фрагментом.
3.10. Создание вложенных таблиц
3.10. Создание вложенных таблиц Существуют такие моменты, когда необходимо создать ячейки, границы которых не должны совпадать (рис. 3.14). Здесь атрибут colspan бессилен. Рис. 3.14. Сложная HTML-таблицаКоманды, управляющие созданием и отображением таблиц, допускают вложение одного
Глава 2 Создание и применение таблиц стилей
Глава 2 Создание и применение таблиц стилей В предыдущей главе был представлен обзор XSLT. В этой главе мы начинаем детальную работу с ним. Мы собираемся научиться рассматривать документы в терминах XSLT, структурировать таблицу стилей XSLT и встраивать в документы таблицы
Создание таблиц
Создание таблиц Таблицы HTML создаются в четыре этапа.На первом этапе в HTML-коде с помощью парного тега <TABLE> формируют саму таблицу:<TABLE></TABLE>Таблица HTML представляет собой блочный элемент Web-страницы. Это значит, что она размещается отдельно от всех остальных блочных
Создание таблиц
Создание таблиц Таблицы HTML создаются в четыре этапа. На первом этапе в HTML-коде с помощью парного тега <TABLE> формируют саму таблицу:<TABLE></TABLE>Таблица HTML представляет собой блочный элемент Web-страницы. Это значит, что она размещается отдельно от всех остальных блочных
Глава 7 Создание таблиц и слияние документов
Глава 7 Создание таблиц и слияние документов Практически каждому бухгалтеру приходится создавать, заполнять и оформлять таблицы, ведь таблицы – действительно удобная форма для отображения данных. Данная глава посвящена приемам создания и форматирования электронных
Глава 17. СОЗДАНИЕ ТАБЛИЦ
Глава 17. СОЗДАНИЕ ТАБЛИЦ ВПЛОТЬ ДО ЭТОГО МЕСТА, МЫ ЗАПРАШИВАЛИ ТАБЛИЦЫ данных и выполняли команды по извлечению этих данных, считая, что эти таблицы уже были созданы кем — то до нас . Это действительно наиболее реальная ситуация, когда небольшое колличество людей создают
Создание таблиц
Создание таблиц Команда TABLE создает табличный объект: вставляет пустую таблицу в рисунок, начиная с указанной точки, или в определенную область с использованием стиля таблицы, количества строк, столбцов и размеров, которые вы назначаете. После запуска команды TABLE
5.1. Создание таблиц
5.1. Создание таблиц Работа с таблицами не является основным предназначением Microsoft Word. Однако иногда в документ требуется вставить данные, которые лучше воспринимаются именно в виде таблицы. Если таблица несложная, использовать специальные программы для работы с
Создание таблиц
Создание таблиц Предполагается, что, достигнув той точки, когда вы готовы создавать таблицы, вы уже выполнили анализ данных и подготовили модель, а также вы имеете совершенно четкое представление о структурах ваших главных таблиц и их взаимоотношениях. Для подготовки к
Создание таблиц
Создание таблиц Команда TABLE создает табличный объект: вставляет пустую таблицу в рисунок, начиная с указанной точки, или в определенную область с использованием стиля таблицы, количества строк, столбцов и размеров, которые вы назначаете. Для вызова команды TABLE нужно
Глава 3 Создание таблиц новой базы данных
Глава 3 Создание таблиц новой базы данных Как уже было сказано в главе 2, разработка новой базы данных «Контрольно-измерительные приборы» производится в программной среде Access 2002.Формирование БД в Access состоит из ряда последовательных этапов, описываемых ниже. Первый этап
2.8. Создание и редактирование таблиц
2.8. Создание и редактирование таблиц Таблицы являются неотъемлемой частью рефератов, курсовых и дипломных работ. Они позволяют подытожить материал и сделать его наглядным. Современный текстовый редактор Word предлагает очень удобные и гибкие возможности создания и
Создание таблиц
Создание таблиц Вставить таблицу в документ Word можно несколькими способами. Самый простой из них – воспользоваться кнопкой Вставить таблицу, расположенной на панели инструментов Стандартная, и указать размер, то есть количество строк и столбцов. Правда, в этом случае вы
Создание и редактирование таблиц
Создание и редактирование таблиц Таблицы можно создавать как в режиме конструктора, так и в режиме таблицы. В режиме таблицы на ленте появляется вкладка Режим таблицы (рис. 7.13), где можно найти команды для работы с полями и их свойствами. Рис. 7.13. Создание новой
Создание таблиц
Создание таблиц Давайте создадим табличку (будете, например, расписание уроков детям писать, или распорядок дня, или…).Чтобы не запутаться, создадим новый файл. Помните как? Открываем Word, видим Документ 1 (если программа открыта, то Файл ? Открыть), сохраняем новый документ
Каскадные таблицы стилей — Оформление табличных данных в CSS
В этой главе:
- Таблицы и визуальное форматирование
- Ширина таблицы
- Высота таблицы и вертикальное выравнивание
- Границы ячеек
- Отображение границ пустых ячеек
Как известно, таблицы представляют собой отношения между данными. Визуально форматирование таблиц происходит в виде прямоугольной сетки ячеек. Строки и столбцы ячеек могут объединяться в группы строк (в XHTML – элементы THEAD, TFOOT, TBODY) и группы столбцов (COL, COLGROUP). Вокруг строк, столбцов, групп строк, групп строк и ячеек могут проходить видимые границы. Внутри ячейки данные могут выравниваться по вертикали или по горизонтали. Кроме того, данные могут выравниваться во всех ячейках или столбцах.
Всего в CSS 2 предусмотрено 5 свойств, относящихся исключительно к таблицам, однако к элементам таблиц применимы и многие общие свойства CSS, от border и padding до font и color. Однако действие ряда общих свойств при работе с элементами таблиц имеют свои нюансы. Кроме того, ряд значений для некоторых свойств CSS, например, display, имеют ряд значений, применимых только к элементам таблиц. В частности, это все значения свойства display с префиксом table, которые, как уже отмечалось, могут быть применены только к XML-документам.
Таким образом, таблицы во многом являются «вещью в себе», поэтому в этой главе мы рассмотрим не только специфичные для таблиц свойства CSS, но и само представление табличных данных с точки зрения каскадных таблиц стилей – в дополнение к той информации, что уже рассматривалась в рамках XHTML.
Таблицы и визуальное форматирование
Модель таблиц CSS основана на модели таблиц HTML 4.0, в которой структура таблицы тесно связана с визуальным представлением таблицы. В этой модели таблица состоит из необязательного заголовка и произвольного количества строк ячеек. Такая модель таблиц считается «ориентированной на строки», поскольку в документе явным образом определяются именно строки, а не столбцы. Столбцы же определяются только после указания всех строк: первая ячейка строки относится к первому столбцу, вторая – ко второму и т.д. Строки и столбцы могут образовывать структурные группы с отражением при представлении таблицы (например, вокруг группы строк может располагаться общая граница).
Таким образом, таблица состоит из заголовков, строк, групп срок, столбцов, групп столбцов и ячеек. Давайте вспомним все типы визуального представления, относящиеся к таблицам, а также элементы XHTML, соответствующие таким типам, для чего обратимся к таблице 3.8.
Тип | Элемент в XHTML | Описание |
---|---|---|
table | TABLE | Указывает, что элемент определяет обычную таблицу уровня блока (block) |
inline-table | TABLE | Указывает, что элемент определяет таблицу уровня стоки (inline) |
table-row | TR | Указывает, что элемент является строкой ячеек |
table-row-group | TBODY | Указывает, что элемент группирует одну или несколько строк |
table-header-group | THEAD | Аналогично table-row-group, но при выводе эта группа строк всегда отображается перед всеми другими строками или группами, сразу за главным заголовком таблицы |
table-footer-group | TFOOT | Аналогично table-row-group, но при выводе эта группа строк всегда отображается после всех других строк или групп |
table-column | COL | Указывает, что элемент определяет столбец ячеек |
table-column-group | COLGROUP | Указывает, что элемент объединяет один или несколько столбцов |
table-cell | TD, TH | Указывает, что элемент представляет собой ячейку таблицы |
table-caption | CAPTION | Задает главный заголовок таблицы |
Очевидно, что все виды отображения, принятые в CSS, прочно связаны с определенными элементами XHTML. Это и не удивительно, ведь XHTML – это тот же HTML 4.0, который, с одной стороны, внес ясность в табличную модель, а с другой – появился на год раньше, чем CSS 2. Единственное новшество – это тип inline-table, который делает таблицу элементом строки. Поскольку в XHTML для этого не предусмотрено специального тега, то такие таблицы всегда определяются с использованием CSS:
<div>Блок текста, содержащий таблицу типа Inline.
<table>
<tr>
<td>ячейка</td>
</tr>
</table>
Конец текста.</div>
Впрочем, справедливости ради, следует отметить, что такой тип таблиц (по крайней мере, для XHTML) поддерживается только последними версиями браузеров (разве чтов Opera поддержка появилась еще в 7-й версии). Чтобы в этом убедиться, посмотрите файл Part_3\Tables\itable.html в различных программах просмотра: при правильном построении таблица должна находиться в одной строке с остальным текстом.
Известно, что ячейки таблицы принадлежат двум контекстам: строкам и столбцам. Однако, как уже отмечалось, в исходном документе ячейки являются наследующими элементами строк, а не столбцов. Но, тем ни менее, на ряд свойств ячеек оказывают влияние свойства столбцов. В частности, к таковым относятся border, background, width и visibility. При этом свойство visibility может принимать значения visible и collapse, а не visible и hidden, как для других элементов. А назначаемое колонкам свойство background будет иметь силу только в том случае, если строки и ячейки таблицы имеют прозрачный фон. Связано это с тем, что все элементы таблицы имеют предопределенное позиционирование по слоям.
Всего в таблице имеется 6 слоев. Самым нижним является собственно контейнер таблицы. За ним следуют: группы колонок, колонки, группы строк, строки и, наконец, собственно ячейки. При этом не важно, указаны ли явно все эти элементы (довольно часто колонки и группы колонок и строк не указывают), поскольку любой браузер, поддерживающий хотя бы HTML 4. 0, считает, что они все равно есть – подобно тому, как подразумевается наличие тегов HTML, HEAD и BODY в любом документе HTML. Соответственно, если задать фон для таблицы в целом, а затем указать собственный фон для строк или ячеек, то общий фон виден не будет. Исключение составят лишь области, не занятые ячейками – например, пространство между ними.
Отдельным от таблицы является блок заголовка, формируемый в XHTML элементом CAPTION. Он представляет собой отдельный блок, располагающийся отдельно от собственного блока таблицы, но при этом заголовок и таблица вместе образуют общий анонимный блок. Последнее важно с точки зрения позиционирования, поскольку, например, при обтекании в качестве границы табличного блока будет выступать не сама таблица, а именно такой анонимный блок, образуемый таблицей вместе с заголовком. Разумеется, все это верно только для случая, когда заголовок определен в исходном документе.
Для выравнивания заголовка в CSS предусмотрено свойство caption-side. В CSS 2 было определено 4 вида выравнивания: по верху (top), по низу (bottom), а так же по левому (left) и по правому (right) краям. Однако в спецификации CSS 2.1 последние два значения исчезли, а поддержка такого расположения заголовка за все время существования CSS 2 была обеспечена лишь браузерами Mozilla.
Примеры расположения заголовков, а заодно – и слоев можно посмотреть в файле layers.html.
Таким образом, мы рассмотрели ряд принципов визуального форматирования таблиц, а так же одно из свойств CSS, относящихся только к таблицам – caption-side.
Выравнивание таблиц
Значение по умолчанию: top. Наследуемые значения: да. Применяется: к главному заголовку таблицы. Совместимость: все, кроме MSIE 6-7.
Ширина таблицы
В отличие от других элементов, ширина таблицы далеко не всегда определяется значением свойства width. Дело в том, что если автоматический подбор ширины действует для других типов блоков только в тех случаях, когда ширина не указана, то для таблиц всегда действует специальный алгоритм, воспринимающий указанную в свойстве width ширину как минимальную, а реальные размеры вычисляются на основе реального содержимого. Фактически, для таблиц свойство width действует как свойство min-width для других блоков.
Тем не менее, в CSS 2 имеется свойство, позволяющее более жестко управлять отображением таблиц это – table-layout. Оно может принимать 2 значения – auto (принято по умолчанию) и fixed. Соответственно, в первом случае размеры таблицы рассчитываются браузером исходя из содержимого ячеек, а во втором будут учтены только заданные явно ширина столбцов и таблицы в целом. Таким образом, при надлежащей аккуратности (т.е. если суммарная указанная ширина столбцов будет не больше, чем ширина таблицы) можно действительно рассчитывать на то, что ширина таблицы будет именно такой, как указано в свойстве width. Рассмотрим оба варианта расположения таблиц, обратившись к листингу 3.10.
Листинг 3.10. Автоматическое и фиксированное размещение таблиц
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">
<html>
<head>
<title>Ширина таблиц</title>
<style type="text/css">
. t1 {width: 160px; table-layout: auto; border: solid 2px black}
.t2 {width: 160px; table-layout: fixed; border: solid 2px black}
</style>
</head>
<body>
<table>
<caption>Автоматическое<caption>
<tr>
<td>Ячейка 1</td><td>Ячейка 2</td><td>Ячейка 3</td><td>Ячейка 4</td>
</tr>
</table>
<table>
<caption>Фиксированное<caption>
<tr>
<td>Ячейка 1</td><td>Ячейка 2</td><td>Ячейка 3</td><td>Ячейка 4</td>
</tr>
</table>
</body>
</html>
Здесь задано 2 класса таблиц, один – с автоматическим, а второй – с фиксированным размещением. Для обоих классов определена ширина в 160 пикселей. В HTML-части определены 2 аналогичные таблицы, первая из которых имеет класс с автоматическим размещением, а вторая – с фиксированным. Очевидно, что отведенного размера (менее 40 пикселей на столбец) не хватит для того, чтобы вывести содержимое. Соответственно, просмотрев пример в браузере мы увидим, что первая таблица была расширена приблизительно до 220 пикселей (рис. 2.17, сверху) – это типичное поведение всех современных браузеров. В то же время такое «типичное поведение» нередко оказывается ненужным.
Рис. 3.17. Варианты размещения (вычисления размеров) таблиц
Зато вторая таблица получает именно ту ширину, которая была указана. При этом не вместившееся содержимое ячеек накладывается друг на друга (по крайней мере, в Mozilla-браузерах – см. рис. 2.17), что и не удивительно, т.к. значением по умолчанию вступающего тут в силу свойства overflow является visible. Впрочем, таблицы – есть таблицы, и в MSIE и Opera для таблиц сделано исключение, в результате чего в этих браузерах не вмещающееся содержимое обрезается. Так что для получения более предсказуемого результата в различных программах просмотра лучше подстраховаться и указать тип переполнения явно:
td {overflow: visible}
В то же время, если бы мы для второй таблицы задали явно ширину строк, используя ли элементы COL или COLGROUP, или же указывая ширину самих ячеек, то размер таблицы все-таки мог бы измениться. Допустим, мы укажем ширину столбцов по 45 пикселей – в результате размер таблицы превысит указанное нами значение, однако, хотя этого размера все равно будет не совсем достаточно для полноценного (без переполнения) отображения ячеек, дальнейшего увеличения ширины не произойдет. Но если бы в качестве мы указали то же самое в таблице с автоматическим размещением, то указанные 45 пикселей браузер воспримет как благое пожелание, и учтет лишь, что ширина всех столбцов должна быть одинаковой, но все расширит их до необходимого размера (в рассматриваемом примере – около 50px).
Еще одним важным моментом является то, что за определяемую при помощи свойства width ширину таблицы принимается размер таблицы вместе со всеми внутренними границами, включая рамки и расстояния между ячейками.
Если теперь вернуться к варианту автоматического размещения таблиц, то следует заметить, что такой алгоритм является не только менее предсказуемым, но и гораздо более медленным, особенно в случае объемных по содержанию таблиц. Дело в том, что браузер должен предварительно загрузить всю таблицу, а к ее отображению приступает только после того, как все содержимое будет проанализировано. Тем не менее, оба варианта имеют полное право на жизнь, в зависимости от того, в каком контексте применяется конкретная таблица.
Значение по умолчанию: auto.
Наследуемые значения: нет.
Применяется: к таблице в целом.
Совместимость: все.
Высота таблицы и вертикальное выравнивание
Подобно ширине, высота таблицы может быть намечена при помощи свойства height, заданного для таблицы. Однако в конечном итоге высота таблицы всегда вычисляется автоматически, и свойство height лишь ограничивает ее минимальную высоту – вариантов с фиксированным размещением для размеров по вертикали в CSS не предусмотрено. В результате высота таблицы складывается из сумм высот ее строк, которые, в свою очередь, либо вычисляются автоматически, либо задаются при помощи свойства height – последний вариант (т. е. указание высоты для ячейки в каждой строке) является единственной возможностью повлиять на высоту таблицы в целом.
Но здесь мы можем рассмотреть другой аспект, связанный с размерами по вертикали. Это – свойство CSS vertical-align. Хотя оно и не связано напрямую с таблицами (и, более того, имеет ограничения при воздействии с ячейками таблиц), именно для замены предназначенного для строк и ячеек таблиц HTML-атрибута VALIGN оно, в первую очередь, и предназначается.
Итак, свойство vertical-align для ячейки таблицы определяет ее выравнивание в строке. Содержимое каждой ячейки имеет базовую линию, верх, средину и низ (так же, как и сама строка). Соответственно, среди допустимых значений этого свойства имеются baseline, top, middle и bottom. Прежде всего, разберемся с базовой линией – baseline. Применительно к таблицам за базовую линию ячейки принимается базовая линия первого линейного блока. На практике это означает, что если есть 2 выровненные по базовой линии ячейки, причем в первой размер шрифта больше, чем во второй, то базовая линия, по которой выравнивается выводимый текст, будет одинаковой в обеих ячейках.
Значением по умолчанию для свойства vertical-align является baseline, но тут вновь сказывается специфика таблиц: если ни для одной из ячеек в строке не указано явно свойство vertical-align со значением baseline, то базовая линия вычислена браузером не будет. Соответственно, вывод таблицы с выводом по умолчанию и с явно заданным выравниванием по базовой линии будет отличаться, в чем несложно убедиться, создав таблицу, содержащую строки без вертикального выравнивания и с выравниванием по базовой линии (см. файл valign.html). Если такую таблицу дополнить строками, выровненными по 3 остальным вариантам, то можно убедиться, что на самом деле, браузеры выравнивают содержимое ячеек по середине (рис. 3.18).
Рис. 3.18. Варианты вертикального выравнивания ячеек
Если теперь немного отвлечься от таблиц, то можно отметить, что значения свойства vertical-align помимо уже рассмотренных, могут быть следующими:
- sub – Осуществляется смещение базисной линии вниз до уровня, отведенного для нижних индексов родительского блока;
- super – Осуществляется смещение базисной линии вверх до уровня, отведенного для верхних индексов родительского блока;
- text-top – Осуществляется выравнивание верхней границы по верхней же кромке шрифта родительского элемента;
- text-bottom – Осуществляется выравнивание нижней границы по нижней же кромке шрифта родительского элемента.
Кроме того, в качестве значения для vertical-align допустимо указывать размер или процентное значение. В таком случае смещение будет происходить вверх (или вниз – в случае отрицательного значения) на заданную величину относительно базовой линии.
Что же до нечисловых значений, то, например, смысл значений sub и super сводится к тому же, что и использования элементов SUB и SUP в XHTML, с той лишь разницей, что задаваемое при помощи CSS смещение не влияет на размер шрифта:
Основной текст, <sup>нижний индекс (мелкий)</sup> еще текст
<span>нижний индекс (нормальный)</span>.
Это будет выведено браузером примерно так:
Основной текст, нижний индекс (мелкий) еще текст нижний индекс (нормальный).
Если же возникнет необходимость сделать нижний или верхний индекс таким же, как при использовании HTML, то достаточно добавить определение размера кегля:
<span>нижний индекс</span>.
Подводя итог по вертикальному выравниванию, можно отметить, что такое свойство, как vertical-align, на практике оказывается востребованным именно в контексте оформления табличных данных, поскольку именно выравнивание по высоте чаще всего позволяет получить более наглядную и аккуратно выглядящую таблицу.
Свойства valign
Значение по умолчанию: baseline (для ячеек таблиц – middle).
Наследуемые значения: нет.
Применяется: к ячейкам таблицы и строковым блокам.
Совместимость: все.
Границы ячеек
Подобно тому, как имеется 2 варианта размещения таблиц, границы между ячейками в таблицах так же могут быть одного из 2-х типов: с отдельными (separate) или пересекающимися (collapse) границами. За выбор модели границ отвечает свойство CSS border-collapse, которое, соответственно, может принимать значения collapsed или separated. Интересно отметить, что если в CSS 2 за значение по умолчанию было принято collapsed, то в CSS 2. 1, с оглядкой на реальное положение вещей (т.е. на то, как браузеры выводят таблицы без CSS), за таковое приняли separated. Чтобы разобраться с вариантами вывода границ, обратимся к листингу 3.11.
Листинг 3.11. Варианты границ
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">
<html>
<head>
<title>Границы</title>
<style type="text/css">
table,td {border: solid 1px black; }
</style>
</head>
<body>
<table>
<caption>Отдельные</caption>
<tr>
<td>Ячейка 1-1</td><td>Ячейка 1-2</td><td>Ячейка 1-3</td>
</tr>
<tr>
<td>Ячейка 2-1</td><td>Ячейка 2-2</td><td>Ячейка 2-3</td>
</tr>
</table>
<br />
<table>
<caption>Пересекающиеся</caption>
<tr>
<td>Ячейка 1-1</td><td>Ячейка 1-2</td><td>Ячейка 1-3</td>
</tr>
<tr>
<td>Ячейка 2-1</td><td>Ячейка 2-2</td><td>Ячейка 2-3</td>
</tr>
</table>
</body>
</html>
Если теперь посмотреть на пример построения таких таблиц в браузере, то можно будет убедиться, что в первом случае каждая ячейка имеет собственную границу со всех сторон, а во втором смежные ячейки имеют общую линию границы (рис. 3.19).
Рис. 3.19. Отдельные и пересекающиеся границы ячеек
Кроме того, общая граница таблицы (если она, конечно, определена), так же будет смежной с внешними границами приграничных ячеек.
Поскольку в модели отдельных границ каждая ячейка имеет собственные границы, то логично было бы предположить, что можно управлять расстоянием между внешними границами ячеек. И если средствами HTML это делается при помощи атрибута CELLSPACING, то в CSS для этого имеется свойство border-spacing. Созданное таким образом межъячеечное пространство заполняется фоном элемента таблицы (это вы уже могли видеть на примере слоев в файле layers.html).
ПРИМЕЧАНИЕ
Очевидно, что в случае с ячейками свойство border-spacing фактически является эквивалентом свойства margin для остальных элементов. А вот для определения внутреннего отступа по-прежнему можно использовать свойство padding (или же атрибут CELLPADDING применительно к HTML).
Здесь остается отметить, что свойство border-spacing имеет смысл применять лишь в том случае, когда используется модель таблицы с раздельными границами ячеек, поскольку в противном случае межъячеечных интервалов просто не будет.
Так же следует принять к сведению, что для строк, столбцов и их групп не может быть границ. Дело в том, что даже в случае, если вы указали, что границы должны проходить, скажем, по строкам (например, присвоив HTML-атрибуту RULES значение Rows), границы все равно будут принадлежать самим ячейкам, а не абстрактной линии, проходящей меду двумя их рядами.
Свойства border-collapse и border-spacing
Значение по умолчанию: border-collapse – separate; border-spacing – 0.
Наследуемые значения: да.
Применяется: к таблицам.
Совместимость: все.
Отображение границ пустых ячеек
В завершение темы таблиц с отдельными границами между ячейками рассмотрим такой случай, когда требуется выводить границы даже в том случае, когда ячейка является пустой. Под термином «пустая ячейка» понимается случай, когда ячейка не содержит никакой информации: т.е. либо вообще ничего, либо только пробельные символы. Как вам, наверное, уже известно, браузеры практически игнорируют такие ячейки при выводе таблиц – отдельные пустые ячейки выглядят просто как пустое место, а если в строке все ячейки окажутся пустыми, то вся строка будет сжата практически до нулевой высоты.
Чтобы проиллюстрировать такое поведение, возьмем за основу первую таблицы из предыдущего примера (листинг 3.11) и модифицируем ее таким образом, чтобы в первой строке осталась только одна непустая ячейка, а во второй непустых ячеек не было вовсе, после чего добавим еще одну, третью строку:
<table>
<tr>
<td>Ячейка 1-1</td><td>Ячейка 1-2</td><td>Ячейка 1-3</td>
</tr>
<tr>
<td> </td><td> </td><td> </td>
</tr>
<tr>
<td>Ячейка 3-1</td><td>Ячейка 3-2</td><td>Ячейка 3-3</td>
</tr>
</table>
Если теперь открыть файл с такой таблицей в браузере, то можно будет убедиться, что в первой строке очерчена границей лишь первая ячейка, правее которой находится пустое пространство, а о существовании 2-й строки можно только догадываться. И хотя такое положение вещей и кажется привычным, не всегда это удобно. В таком случае следует использовать свойство empty-cells, которое может принимать одно из двух значений – hide (скрывать) и show (показывать).
Так что теперь мы можем модифицировать таблицу вновь, добавив в описание стиля это свойство с нужным значением:
<table>
Результаты построения обоих вариантов таблиц можно посмотреть в файле empty.html.
Остается заметить, что в случае с пересекающимися ячейками все возможные границы видны всегда, вне зависимости от значения свойства empty-cells. Однако, при этом возникает такой резонный вопрос, как быть в том случае, если пересекающиеся границы имеют разное оформление? В таком случае на помощь нам (и разработчикам браузеров) приходит описанный в CSS 2 алгоритм разрешения «пограничных» конфликтов. Суть его сводится к следующим 4 пунктам:
- Границы, для свойства border-style которых установлено значение hidden, имеют приоритет над всеми остальными смежными границами: все другие границы в указанном месте не отображаются.
- У границ, имеющих стиль none, самый низкий приоритет. Только если свойства границ всех ячеек, относящихся к этому краю, имеют значение none, границы не будет (но не забывайте, что значение none используется для стиля границы по умолчанию).
- Если ни один из стилей не имеет значение hidden и хотя бы один из них имеет значение, отличное от none, то «побеждают» более широкие границы. Если у нескольких границ свойства border-width имеют одинаковые значения, стили применяются в следующем порядке: double, solid, dashed, dotted, ridge, outset, groove и inset (по убыванию приоритета).
- Если стили границ отличаются только цветом, тогда стиль, заданный для ячейки, имеет приоритет над стилем строки, стиль строки – над стилем группы строк, столбца, группы столбцов и таблицы.
Пример разрешения конфликтов вы можете посмотреть в файле conflict.html.
На этом знакомство как со свойством border-collapse, так и со спецификой таблиц в рамках CSS вообще можно считать оконченным – ведь все 5 табличных свойств нам уже знакомы!
Свойства empty-cells
Значение по умолчанию: hide.
Наследуемые значения: да.
Применяется: к таблицам.
Совместимость: кроме MSIE 6-7.
2011-06-21 // Есть вопросы, предложения, замечания? Вы можете обсудить это на форуме !
« Оформление текста в CSS | Генерируемое содержимое и списки CSS »
CSS table-layout Property — GeeksforGeeks
>999999999999999999999007>999999999999999007>99999999999999007> < th >Возраст th > |
html - Таблица с макетом таблицы: исправлено; а как сделать один столбец шире
Спросил
Изменено 6 лет, 7 месяцев назад
Просмотрено 231k раз
Итак, у меня есть таблица с таким стилем:
table-layout: fixed;
При этом все столбцы имеют одинаковую ширину. Я хотел бы, чтобы один столбец (первый) был шире, а затем остальные столбцы занимали оставшуюся ширину таблицы с одинаковой шириной.
Как этого добиться?
стол { граница коллапса: коллапс; ширина: 100%; граница: 1px сплошной черный; фон: #ддд; макет таблицы: фиксированный; } таблица th, таблица td { граница: 1px сплошная #000; } таблица td.wideRow, таблица th.wideRow { ширина: 300 пикселей; }
<стол>Зарезервировано авто Авто 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 таблица> KE-260 FC - Октавия комби <тд>тд> <тд>тд> <тд>тд> <тд>тд> <тд>тд> <тд>тд> <тд>тд> <тд>тд> <тд>тд> <тд>тд> <тд>тд> <тд>тд> <тд>тд> <тд>тд> <тд>тд> <тд>тд> <тд>тд> <тд>тд> <тд>тд> <тд>тд> <тд>тд> <тд>тд> <тд>тд> <тд>тд> <тд>тд> <тд>тд> <тд>тд> <тд>тд> <тд>тд> <тд>тд> <тд>тд> <тд>тд>Ричард Кноп <тд>тд> <тд>тд> <тд>тд> <тд>тд> <тд>тд> <тд>тд> <тд>тд> <тд>тд> <тд>тд>Ричард Кноп <тд>тд> <тд>тд> <тд>тд> <тд>тд> <тд>тд> <тд>тд> <тд>тд> <тд>тд> <тд>тд> <тд>тд> <тд>тд> <тд>тд> <тд>тд> <тд>тд> <тд>тд> <тд>тд> <тд>тд> <тд>тд> <тд>тд> <тд>тд> <тд>тд> <тд>тд> <тд>тд> <тд>тд> <тд>тд>
jsfiddle: http://jsfiddle. net/6p9K3/
Обратите внимание на первый столбец, я хочу, чтобы он был шириной 300 пикселей
.
- html
- css
- xhtml
Вы можете просто указать ширину первой ячейки (следовательно, столбца), а остальные значения по умолчанию равны auto
table { макет таблицы: фиксированный; граница коллапса: коллапс; ширина: 100%; } тд { граница: 1px сплошная #000; ширина: 150 пикселей; } тд+тд { ширина: авто; }
<стол>150px равно равно
или, альтернативно, "правильный способ" получить ширину столбца может заключаться в использовании самого элемента col
table { макет таблицы: фиксированный; граница коллапса: коллапс; ширина: 100%; } тд { граница: 1px сплошная #000; } .широкий { ширина: 150 пикселей; }
<стол> <колл. промежутка = "1">таблица> 150px равно равно
5
Важной особенностью table-layout: fixed является то, что ширина столбцов определяется первой строкой таблицы.
Итак,
, если структура вашей таблицы следующая (стандартная структура таблицы)
Первый столбец | Второй столбец | Третий столбец |
---|---|---|
Первый столбец | Второй столбец | Третий столбец |