Олды здесь: как сверстать веб-страницу на таблицах

Поля и интервалы таблицы

По умолчанию размер ячеек таблицы подстраивается под их содержимое, но иногда бывает необходимо оставить вокруг табличных данных немного пространства (padding). Поскольку интервалы и поля относятся к элементам представления данных, это пространство настраивается с помощью стилевых таблиц CSS.
Поле ячейки (padding) — это расстояние между содержимым ячейки и ее границей (border). Для его добавления примените свойство padding к элементу <td> или <th>.
Интервал ячеек (border-spacing) — это расстояние между ними (<td> или <th>). Сначала присвойте значение separate свойству border-collapse элемента <table>, а затем установите расстояние между ячейками, изменив значение параметра border-spacing. Раньше за поля и интервал ячеек отвечали атрибуты cellpadding и cellspacing элемента <table>, но в спецификации HTML5 они были признаны устаревшими.

Пример использования padding и border-spacing:

Пример: Применение свойств padding и border-spacing

  • Результат
  • HTML-код
  • Попробуй сам »
padding — это расстояние между содержимым ячейки и ее границей (желтый цвет)
Ячейка 1 Ячейка 2
Ячейка 3 Ячейка 4
border-spacing — это расстояние между ячейками (зеленый цвет)
Ячейка 1 Ячейка 2
Ячейка 3 Ячейка 4
Примечание: Если к таблице применено свойство border-collapse: collapse, то интервал ячеек (border-spacing) не сработает.

Формирование таблицы и css-свойство table-layout

Имеется в CSS и возможность управления процессом формирования браузером макета таблицы, точнее ширины ячеек.
Для этого используется ненаследуемое свойство table-layout (см. пример №4). Свойство
может принимать следующие значения:

  • auto – браузер будет загружать всю таблицу, затем анализировать ее содержимое для определения размеров
    ячеек и только потом отображать ее на странице (значение используется браузером по умолчанию);
  • fixed – данное значение правильно срабатывает только, если задана ширина таблицы, позволяя быстрее
    сформировать ее макет; действует оно следующим образом: если ширина колонки или ячейки не задана, то браузер будет вычислять ширину на основе
    первой строки таблицы, при чем вычисленная ширина будет уже фиксированной, и если содержимое ячейки не будет помещаться в указанную ширину, то
    в зависимости от браузера оно будет либо обрезано, либо будет отображаться поверх таблицы (налезать на соседние ячейки или выходить за пределы
    таблицы); если браузер по каким-то причинам не сможет получить информацию о размерах колонок первой строки таблицы, он просто разделит таблицу на
    колонки равной ширины.
<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">  
	<title>Свойство table-layout</title>

	<style>
	
		table{
		width: 100px;
		margin: 3em;
		border: 1px solid green;
		caption-side: top;
		border-collapse: collapse;
		table-layout: fixed;
		}
		
		td{
		border: 1px solid green;
		}

		/* Для первой таблицы */	
		table:first-child{
		table-layout: auto;
		}

		/* Для второй таблицы */	
		table:last-child{
		table-layout: fixed;
		}
		
	</style>
	
</head>
<body>

	<table>
		<caption>table-layout: auto</caption>
		<tr>
			<td>Ячейка 1.1aaaaaa</td><td>Ячейка 1.2bbbbb</td>
		</tr>
		<tr>
			<td>Ячейка 2.1aaaaaa</td><td>Ячейка 2.2bbbbb</td>
		</tr>
	</table>

	<table>
		<caption>table-layout: fixed</caption>
		<tr>
			<td>Ячейка 1.1aaaaaa</td><td>Ячейка 1.2bbbbb</td>
		</tr>
		<tr>
			<td>Ячейка 2.1aaaaaa</td><td>Ячейка 2.2bbbbb</td>
		</tr>
	</table>	
	
</body>
</html>

Пример №4. Форматирование внешнего вида таблицы

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

ШАГ 5: украшаем ссылки

Навигационое меню все еще по-прежнему выглядит как список,
вместо меню. Давайте стилизуем его. Мы уберем маркеры списков и
переместим элементы налево, где были маркеры. Так же мы нарисуем
каждый элемент списка на белом фоне в своем черном квадрате (зачем?
просто так, потому что можем).

Мы так же не сказали какими должны быть цвета ссылок, так что
давайте добавим и это свойство: синими будут ссылки которые
пользователь еще не смотрел, пурпурными — те которые он уже
посещал. (строки 13-15 и 23-33):

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head>
  <title>My first styled page</title>
  <style type="text/css">
  body {
    padding-left: 11em;
    font-family: Georgia, "Times New Roman",
          Times, serif;
    color: purple;
    background-color: #d8da3d }
  ul.navbar {
    list-style-type: none;
    padding: 0;
    margin: 0;
    position: absolute;
    top: 2em;
    left: 1em;
    width: 9em }
  h1 {
    font-family: Helvetica, Geneva, Arial,
          SunSans-Regular, sans-serif }
  ul.navbar li {
    background: white;
    margin: 0.5em 0;
    padding: 0.3em;
    border-right: 1em solid black }
  ul.navbar a {
    text-decoration: none }
  a:link {
    color: blue }
  a:visited {
    color: purple }
  </style>
</head>

<body>

Селекторы в CSS

Теперь, когда мы разобрались с блоком объявлений стилей, нужно разобраться с тем, что находится вначале любого CSS-правила – с селектором.

Селектор указывает, к каким элементам применять объявления стилей.

В нашем примере селектор h1 – это тип элемента, говоря по-простому тег.

Такой селектор означает что стили будут применены ко всем тегам h1 на странице.

В качестве селектора могут выступать:

  • элементы (имена тегов), например h2
  • класс, перед ним ставится точка, например .my-class
  • идентификатор, перед ним ставится решетка, например #main
  • псевдоклассы и псевдоэлементы

Универсальный селектор

Существует селектор *.

Он выбирает все элементы на странице. Например правило:

* {
margin: 0;
}

1
2
3

* {

margin;

}

установит для всех элементов нулевые внешние отступы.

Элементы

Селекторы элементов дают возможность выбрать, для применения стилей, все элементы одного типа на странице (проще говоря все одинаковые теги). Например:

h2 {
color: blue;
}

1
2
3

h2 {

colorblue;

}

Это правило устанавливает для всех заголовков <h2> голубой цвет текста.

Классы

Селекторы классов позволяют выбрать для задания стилей один или более элементов с одинаковыми именами классов.

В элементах классы задаются при помощи атрибута class, например:

<h3 class=»big»>Текст заголовка</h3>
<p class=»big»>Текст абзаца</p>

1
2

<h3 class=»big»>Текст заголовка</h3>

<p class=»big»>Текст абзаца</p>

.big {
font-size: 1.4em;
}

1
2
3

.big {

font-size1.4em;

}

В этом примере шрифт будет увеличен и для заголовка h3, и для параграфа.

Идентификаторы

Селекторы идентификаторов предназначены для выбора одного конкретного элемента на странице.

В элементах идентификаторы задаются при помощи атрибута id, например:

<div id=»main»>…</div>

1 <div id=»main»>…</div>

Атрибуты

Селектор по атрибуту позволяет выбрать элементы, имеющие определенный атрибут или атрибут с определенным значением.

Проще всего этот вид селектора показывать на примерах:

titlespanspancontenteditabletrue

Селектор
a  – выберет все ссылки, у которых в атрибуте
href содержится
yandex.ru

Полный список вариантов использования этого селектора вы можете посмотреть в документации.

Псевдоклассы

Псевдоклассы в CSS – это определенный набор ключевых слов, которые добавляются к селекторам через двоеточие.

Их предназначение дать возможность применить стили к элементу, когда происходит определенное событие, например когда указатель мыши находится над элементом.

a:hover {
color: red;
}

1
2
3

a:hover {

colorred;

}

Правило выше означает, что, когда указатель мыши находится над ссылкой, цвет её текст становится красным.

hoverдокументации

Псевдоэлементы

Псевдоэлементы в CSS – это определенный набор ключевых слов, которые добавляются к селекторам через двойное двоеточие.

С их помощью можно выбрать какую-то часть элемента, и задать для нее свойства.

Например, можно сделать первые буквы заголовков h2 красного цвета:

h2::first-letter {
color: red;
}

1
2
3

h2::first-letter {

colorred;

}

Список стандартных псевдоэлементов вы можете посмотреть в документации.

Границы и рамки

Чтобы чётко отделить содержимое одной ячейки от другой, к ячейкам добавляются границы. За их создание отвечает стилевое свойство border, которое применяется к элементам (<td> или <th>). Однако здесь нас подстерегают подводные камни. Поскольку рамка создаётся для каждой ячейки, то в местах соприкосновения ячеек получается граница удвоенной толщины. Для устранения указанной особенности существует несколько путей. Самый простой — воспользоваться свойством border-collapse со значением collapse. В его задачу входит отслеживать соприкосновение линий и вместо двойной границы изображать одинарную. Это свойство достаточно добавить к селектору table, а дальше оно всё сделает самостоятельно (пример 6).

Пример 6. Применение свойства border-collapse при создании рамок таблицы

<!DOCTYPE html>
<html>
<head>
<meta charset=»utf-8″>
<title>Таблица</title>
<style>
table {
border-collapse: collapse; /* Убираем двойные линии */
width: 100%; /* Ширина таблицы */
border-spacing: 0; /* Расстояние между ячеек */
}
td {
border: 2px solid #333; /* Параметры границ */
padding: 4px; /* Поля в ячейках */
text-align: center; /* Выравнивание по центру */
}
</style>
</head>
<body>
<table>
<tr><td>O</td><td>X</td><td>X</td></tr>
<tr><td>O</td><td>O</td><td>X</td></tr>
<tr><td>X</td><td>X</td><td>O</td></tr>
</table>
</body>
</html>

Разница между границами таблицы при добавлении свойства border-collapse, а также без него, представлена на рис. 4.

а — свойство не установлено

б — свойство установлено

Рис. 4. Вид таблицы при использовании border-collapse

На рис. 4а показана рамка таблицы, используемая по умолчанию

Обратите внимание, что внутри таблицы все линии имеют удвоенную толщину. Добавление border-collapse убирает эту особенность, и толщина всех линий становится одинаковой (рис. 4б)

Линии не обязательно делать для всех сторон ячеек, согласно дизайну они могут отделять одну строку или колонку от другой. Для этого мы используем свойства border-bottom, border-left и другие подобные. Применять границы к элементам <tr>, <thead>, <tfoot> и <tbody> нельзя, поэтому добавляем их к селектору table и td (пример 7).

Пример 7. Линии между строк

<!DOCTYPE html>
<html>
<head>
<meta charset=»utf-8″>
<title>Таблица</title>
<style>
table {
width: 100%; /* Ширина таблицы */
border-collapse: collapse; /* Убираем двойные линии */
border-bottom: 2px solid #333; /* Линия снизу таблицы */
border-top: 2px solid #333; /* Линия сверху таблицы */
}
td {
text-align: center; /* Выравнивание по центру */
border-bottom: 1px solid #333;
border-top: 1px solid #333;
}
td, th {
padding: 5px; /* Поля в ячейках */
}
</style>
</head>
<body>
<table>
<thead>
<tr>
<th rowspan=»2″>Вид соединения</th>
<th colspan=»2″>Поля допусков ширины шпоночного паза</th>
</tr>
<tr>
<th>Вал</th><th>Втулка</th>
</tr>
</thead>
<tbody>
<tr>
<td>Свободное</td><td>H9</td><td>D10</td>
</tr>
<tr>
<td>Нормальное</td><td>N9</td><td>I<sub>s</sub>9</td>
</tr>
<tr>
<td>Плотное</td><td colspan=»2″>P9</td>
</tr>
</tbody>
</table>
</body>
</html>

Результат данного примера показан на рис. 5.

Рис. 5. Таблица с горизонтальными линиями

Простая HTML таблица

Чтобы создать простую таблицу HTML достаточно 3 тега: <table>, <tr> и <td>.

Тег <table> является корневым контейнером таблицы. Все содержимое таблицы должно находится внутри него.

Далее необходимо определить строки и ячейки — структуру таблицы.

В HTML таблицах строка (ряд) <tr> является контейнером для ячеек. Колонки таблицы определяются позицией ячеек: первая ячейка <td> внутри строки <tr> будет в первой колонке, второй элемент <td> — во второй колонке и так далее.

Для разделения таблицы на колонтитулы (об этом ниже) и основную часть, как обвертку строк <tr> основной части таблицы используют тег <tbody>. Его использование не обязательно в простых таблицах, однако некоторые браузеры и HTML редакторы добавляют его автоматически, поэтому в примерах ниже мы также будем его использовать. Если ваша таблица не имеет колонтитулов, вы можете не использовать тег <tbody>.

Помните о выравнивании

Следуйте 3½ правилам:
1. Числовые данные выравниваются по правой стороне.
2. Текстовые данные выравниваются по левой стороне.
3. Заголовки выравниваются так же, как и их данные.
3½. Не используйте выравнивание по центру.

Список штатов США по историческому населению — Wikipedia

Числа читаются справа налево — при сравнении чисел мы сначала смотрим на единицы, потом на десятки, сотни и т.д. Это тот же способ, которым люди учат арифметику — начинают справа и двигаются влево, собирая и группируя цифры по ходу прочтения. Следовательно, таблицы должны выравнивать числовые данные по правому краю.

Тексты (в русском языке) читаются слева направо. Тексты обычно сравнивают по алфавитному порядку: если две строчки начинаются с одной буквы, сравнивается следующая, и т. д. Попытка быстро пробежаться по тексту, не выровненному по левой стороне, крайне затруднительна.

Заголовки должны сохранять выравнивание соответствующих им данных. Вертикальные линии таблицы в этом случае будут выглядеть опрятно, а данные — цельно и согласованно.

При выравнивании по центру линии таблицы кажутся «зазубренными», что затрудняет просмотр содержимого. Это часто заставляет добавлять в таблицу дополнительные разделители и графические элементы.

Согласующиеся значащие цифры = хорошее выравнивание

Простой способ сохранить правильное выравнивание таблицы — соблюдать единообразие в написании . Обычно это означает, что внутри каждого столбца у чисел должно быть одинаковое количество знаков после запятой. Значащие цифры — тема для отдельной статьи, так что я оставлю здесь лишь краткий совет: чем меньшим количеством значащих цифр можно обойтись, тем лучше.

Подключение CSS-стилей

Таблицы стилей делятся на внешние и внутренние.

Внешние таблицы располагаются в отдельных файлах с расширением .css (например style.css)

1. CSS-файл может быть подключен на страницу при помощи тега
<link> , который должен находиться в секции
<head>  HTML-страницы – это самый часто используемый способ подключения CSS:

2. Другой путь, это использование правила
@import . Чтобы это правило работало оно должно находиться в таблице стилей (внутренней или внешней), в самом начале, перед остальными правилами.

Обычно @import используется внутри CSS-файлов. Также эта директива используется для подключения шрифтов.

3. Внутренние таблицы стилей встраиваются в HTML-страницу, в секцию
<head> , и находятся они внутри тегов
<style>

4. И последний способ подключения CSS – это встроенные стили. Они пишутся непосредственно внутри HTML-тегов в атрибуте style. Такие стили, действуют только на тот тег, в котором написаны.

Что такое PHP?

PHP — это аббревиатура от Hypertext Preprocessor, популярного языка сценариев с открытым исходным кодом, встроенного в HTML и используемого для разработки динамических веб-сайтов, веб-приложений или статических веб-сайтов.

Поскольку PHP является серверным языком, его скрипты выполняются на сервере (а не в браузере), а результатом является обычный HTML.

PHP — это широко используемый скриптовый язык общего назначения с открытым исходным кодом, который особенно подходит для веб-разработки и может быть внедрен в HTML. — с сайта PHP.net

Этот серверный язык сценариев работает на различных операционных системах, включая Windows, Mac OS, Linux и Unix. Он также совместим с большинством серверов, таких как Apache и IIS.

По сравнению с другими языками, такими как ASP и JSP, PHP прост в изучении. PHP также предлагает множество функций, необходимых разработчикам продвинутого уровня.

Выравнивание текста в ячейках

По умолчанию текст в ячейке таблицы выравнивается по левому краю и по центру высоты. Исключением служит элемент <th>, он определяет ячейку заголовка, в котором выравнивание происходит по центру. Чтобы изменить способ выравнивания применяется стилевое свойство text-align (пример 8).

Пример 8. Выравнивание содержимого ячеек по горизонтали

<!DOCTYPE html>
<html>
<head>
<meta charset=»utf-8″>
<title>Таблица</title>
<style>
table {
border-collapse: collapse; /* Убираем двойные линии */
width: 100%; /* Ширина таблицы */
}
th {
background: #dfebb7; /* Цвет фона ячейки */
text-align: left; /* Выравнивание по левому краю */
}
td {
text-align: center; /* Выравнивание по центру */
}
th, td {
border: 1px solid black; /* Параметры рамки */
padding: 4px; /* Поля вокруг текста */
}
</style>
</head>
<body>
<table>
<tr><th>Заголовок 1</th><td>Ячейка 1</td><td>Ячейка 2</td></tr>
<tr><th>Заголовок 2</th><td>Ячейка 3</td><td>Ячейка 4</td></tr>
</table>
</body>
</html>

В данном примере содержимое <th> выравнивается по левому краю, а содержимое <td> — по центру. Результат примера показан ниже (рис. 6).

Рис. 6. Выравнивание текста в ячейках

Выравнивание по вертикали в ячейке всегда происходит по её центру, если это не оговорено особо. Это не всегда удобно, особенно для таблиц, у которых содержимое ячеек различается по высоте. В таком случае выравнивание устанавливают по верхнему краю ячейки с помощью свойства vertical-align со значением top, как показано в примере 9.

Пример 9. Выравнивание содержимого ячеек по вертикали

<!DOCTYPE html>
<html>
<head>
<meta charset=»utf-8″>
<title>Таблица</title>
<style>
th {
background: #496791; /* Цвет фона ячеек заголовка */
color: #fff; /* Цвет текста */
}
td {
background: #f5e8d0; /* Цвет фона ячеек */
text
-align: center; /* Выравниваем по центру */
}
td, th {
padding: 5px 10px; /* Поля в ячейках */
vertical-align: top; /* Выравниваем по верхнему краю */
}
</style>
</head>
<body>
<table>
<tr>
<th rowspan=»2″>Вид соединения</th>
<th colspan=»2″>Поля допусков ширины шпоночного паза</th>
</tr>
<tr>
<th>Вал</th><th>Втулка</th>
</tr>
<tr>
<td>Свободное</td><td>H9</td><td>D10</td>
</tr>
<tr>
<td>Нормальное</td><td>N9</td><td>I<sub>s</sub>9</td>
</tr>
<tr>
<td>Плотное</td><td colspan=»2″>P9</td>
</tr>
</table>
</body>
</html>

В данном примере выравнивание текста происходит по верхнему краю. Результат примера показан на рис. 7.

Рис. 7. Выравнивание текста в ячейках

таблицы

Горизонтальное и вертикальное выравнивание

В большинстве случаев при работе с таблицами вам придется настраивать выравнивание содержимого внутри заголовочных ячеек и ячеек данных. Свойство text-align применяется для горизонтального выравнивания по аналогии с любой текстовой информацией. Применение этого свойства для текста мы рассматривали ранее в статье «Форматирование текста в CSS».

Чтобы установить выравнивание для содержимого в ячейках, необходимо использовать специальные ключевые слова со свойством text-align. Рассмотрим применение ключевых слов этого свойства на следующем примере.

<!DOCTYPE html>
<html>
<head>
	<title>Пример горизонтального выравнивания в таблице</title>
<style> 
table {
border-collapse: collapse; /* объединяем границы ячеек в одну */	
}
td, th {
border: 1px solid; /* задаем сплошную границу размером 1 пиксель */
}
.left {
text-align: left; /* выравнивает текст ячейки влево */
}
.right {
text-align: right; /* выравнивает текст ячейки вправо */
}
.center {
text-align: center; /* выравнивает текст ячейки по центру */
}
.justify {
text-align: justify; /* выравнивает текст ячейки по ширине */
}
</style>
</head>
	<body>
		<table>
			<tr>
				<th>Значение</th><th>Описание</th>
			</tr>
			<tr class = "left">
				<td>left</td><td>Выравнивает текст ячейки влево. Это значение по умолчанию (если направление текста слева направо).</td>
			</tr>
			<tr class = "right">
				<td>right</td><td>Выравнивает текст ячейки вправо. Это значение по умолчанию (если направление текста справа налево).</td>
			</tr>
			<tr class = "center">
				<td>center</td><td>Выравнивает текст ячейки по центру.</td>
			</tr>
			<tr class = "justify">
				<td>justify</td><td>Растягивает линии так, что каждая линия имеет одинаковую ширину (растягивает текст ячейки по ширине).</td>
			</tr>
		</table>
	</body>
</html>

В этом примере мы создали четыре класса, которые задают различное горизонтальное выравнивание в ячейках и применили их по порядку к строкам таблицы. Значение в ячейке соответствует значению свойства text-align, которое было применено к этой строке.

Результат нашего примера:


Рис. 149 Пример горизонтального выравнивания в таблице.

Кроме горизонтального выравнивания вы также можете определить и вертикальное выравнивание в ячейках таблицы с помощью свойства vertical-align.

Обращаю Ваше внимание, что при работе с ячейками таблицы применяются только следующие значения* этого свойства:

Значение Описание
baseline Выравнивает базовую линию ячейки по базовой линии родителя. Это значение по умолчанию.
top Выравнивает содержимое ячейки вертикально по верхнему краю.
middle Выравнивает содержимое ячейки вертикально по середине.
bottom Выравнивает содержимое ячейки вертикально по нижнему краю.

* — Значения sub, super, text-top, text-bottom, length и %, примененные к ячейке таблицы будут вести себя как при использовании значения baseline.

Рассмотрим пример использования:

<!DOCTYPE html>
<html>
<head>
	<title>Пример вертикального выравнивания в таблице</title>
<style> 
table {
border-collapse: collapse; /* объединяем границы ячеек в одну */	
}
td, th {
border: 1px solid; /* задаем сплошную границу размером 1 пиксель */
height: 55px; /* задаем высоту ячеек */
}
.baseline {
vertical-align: baseline; /* выравнивает базовую линию ячейки по базовой линии родителя */
}
.top {
vertical-align: top; /* выравнивает содержимое ячейки вертикально по верхнему краю */
}
.middle {
vertical-align: middle; /* выравнивает содержимое ячейки вертикально по середине */
}
.bottom {
vertical-align: bottom; /* выравнивает содержимое ячейки вертикально по нижнему краю */
}
</style>
</head>
	<body>
		<table> 
			<tr>
				<th>Значение</th><th>Описание</th>
			</tr>
			<tr class = "baseline"> 
				<td>baseline</td><td>Выравнивает базовую линию ячейки по базовой линии родителя. Это значение по умолчанию.</td>
			</tr>
			<tr class = "top"> 
				<td>top</td><td>Выравнивает содержимое ячейки вертикально по верхнему краю.</td>
			</tr>
			<tr class = "middle"> 
				<td>middle</td><td>Выравнивает содержимое ячейки вертикально по середине.</td>
			</tr>
			<tr class = "bottom"> 
				<td>bottom</td><td>Выравнивает содержимое ячейки вертикально по нижнему краю.</td>
			</tr>
		</table> 
	</body>
</html>

В этом примере мы создали четыре класса, которые задают различное вертикальное выравнивание в ячейках и применили их по порядку к строкам таблицы. Значение в ячейке соответствует значению свойства vertical-align, которое было применено к этой строке.


Рис. 150 Пример вертикального выравнивания в таблице.

Поведение пустых ячеек

Силами CSS можно установить, следует ли отображать границы и фон пустых ячеек в таблице или нет. За это поведение отвечает свойство empty-cells, которое по умолчанию, как вы могли заметить из предыдущих примеров, отображает пустые ячейки.

Давайте перейдем к примеру:

<!DOCTYPE html>
<html>
<head>
	<title>Пример отображения пустых ячеек таблицы</title>
<style> 
table {
float: left; /* таблицы становятся плавающими элементами, смещенными по левому краю */
margin-right: 30px; /* устанавливаем внешние отступы справа */
}
td, th {
border: 1px solid #F50; /* задаем сплошную границу размером 1 пиксель цвета #F50 */
width: 75px; /* ширина ячеек */
height: 50px; /* высота ячеек */
background: wheat; /* задаем цвет заднего фона ячеек */
}
caption {
font-weight: bold; /* жирное начертание */
}
.first {
empty-cells: show; /* показывать пустые ячейки (по умолчанию) */	
}
.second {
empty-cells: hide; /* скрывать пустые ячейки */	
}
</style>
</head>
	<body>
		<table class = "first">
			<caption>empty-cells: show;</caption>
			<tr>
				<th>1</th><th>2</th><th>3</th>
			</tr>
			<tr>
				<td>2</td><td></td><td></td>
			</tr>
			<tr>
				<td>3</td><td></td><td></td>
			</tr>
		</table>
		<table class = "second">
			<caption>empty-cells: hide;</caption>
			<tr>
				<th>1</th><th>2</th><th>3</th>
			</tr>
			<tr>
				<td>2</td><td></td><td></td>
			</tr>
			<tr>
				<td>3</td><td></td><td></td>
			</tr>
		</table>
	</body>
</html>

Понять, как действует свойство empty-cells из этого примера очень просто, если для него установлено значение hide, то пустые ячейки и фон в них будут скрыты, если установлено значение show (по умолчанию), то они будут отображаться.


Рис. 147 Пример отображения пустых ячеек таблицы.

Атрибут scope тега

Когда таблица хорошо структурирована, достаточно беглого взгляда, чтобы понять, какие где данные: мигом возникают визуальные ассоциации между основной информацией в таблице и заголовками её колонок и/или строк.

Но что, если наши пользователи не могут провести такую визуальную параллель. Например, они слабовидящие. Как им прочитать сложную таблицу?

Люди с ослабленным зрением часто применяют скринридеры — программы, которые читают для них веб-страницы. С обычным текстом скринридер справляется хорошо, но интерпретировать сложную таблицу для него проблема.

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

Чаще всего это делают с помощью тега <th> и атрибута scope, который сообщает скринридеру, какие ячейки точно являются заголовками — например, заголовок строки, в которой программа находится, или же заголовок столбца.

Благодаря им все пользователи могут интерпретировать таблицу так же, как и зрячие люди.

Пример

Вернёмся к нашей таблице чётности чисел:

Таблица чисел

Нечётное Чётное
1 2
3 4
5 6
Вы узнали, что такое чётные и нечётные числа

Чтобы однозначно указать заголовки столбцов, делаем вот так:

И у каждой строки тоже можно определить заголовок (если в таблице есть не только заголовки столбцов). Слегка изменим для этого наш пример:

Таблица чисел

Пара № Нечётное Чётное
1 1 2
2 3 4
3 5 6
Вы узнали, что такое чётные и нечётные числа

И снова к HTML:

Скринридер распознаёт такую семантическую разметку и позволяет пользователям прочесть весь столбец или строку целиком.

У атрибута scope есть ещё два значения — colgroup и rowgroup. Они используются для таблиц с двумя и более уровнями заголовков (заголовки, которые группируют подзаголовки).

Так заголовок верхнего уровня получает scope=»colgroup», а у его подзаголовков scope=»col», и аналогично для строк.

Как сделать таблицу в html

Все наверное уже знают, таблица в html так же состоит из ячеек. В каждой таблице есть столбцы и строки. Изменить внешний вид таблицы, столбцов и строк можно с помощью стилей css. Делается это очень легко, для таких изменений нужно добавить определенным тегам свои классы.

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

Что касается кода, некоторую часть можно было уменьшить, но я хотел показать, что можно применять к различным тегам и как это все работает при создании таблицы html. Готовую таблицу я взял из прошлой своей статьи, где я описывал, создание таблицы и давал описание тегам ( кто за что отвечает). Кому будет интересно, для общего развития, можете почитать.

Готовый шаблон для документа я уже делал, возьму его и вставлю сюда же, чтоб было все понятно. Решил показать пример по таблицам, в котором буду пользоваться DIV-ами и собственно стилями CSS. Способ не самый простой, в интернете полно легких примитивных вариантов. Но, такой способ, как у меня, я лично не нашел.

Из-за этого решил сделать таблицу по-другому. Такой вариант очень нравится женскому полу, судя по письмам. Сама таблица html получилось с округленными углами, своим цветом, отступами и шрифтом.

Как написать шпаргалку на экзамен

Первым делом нужен текст: можно его набрать самостоятельно либо взять готовый в интернете или студентов старших курсов. Но я бы советовал не полениться и набрать текст самим, так как это поможет вам ориентироваться в конкретной шпаргалке и запомнить хоть немного информации по билету (сработает зрительная память и память письма). В общем, если набираете самостоятельно — это большой плюс.

Разбираемся со шрифтом

Если вы хотите понять, как сделать маленькую шпаргалку в ворде, то стоит разобраться со шрифтом. Сделать это можно двумя способами.

Первый способ. Выделяем текст, переходим на главную вкладку (обычно это вкладка по умолчанию), выбираем соответствующие шрифт и размер: Times New Roman и 6 или 6,5 кегль (максимум 8) соответственно.

Второй способ. Выделяем текст, щелкаем правой кнопкой мыши, в появившемся окошке выбираем нужные шрифт, размер шрифта и начертание. Начертание выбирайте «обычный»: так текст на шпоре будет компактнее, в отличие от жирного или курсива. Нажимаем кнопку ок, чтобы сохранить выбранные параметры.

Выбираем интервал

Интервал — еще один параметр, грамотное выставление которого делает списание со шпаргалки проще и легче: так на странице размещается больше текста.

Что для этого нужно сделать. Воспользуемся вторым способом из предыдущего пункта. В диалоговом окне кроме вкладки «шрифт» будет вкладка «дополнительно». Заходим в нее — здесь настраиваем межзнаковый интервал.

Из предложенных 3 видов (обычный, разреженный и уплотненный) выбираем уплотненный со значением 0,1 пт. Так мы плотнее разместим текст на странице. Сохраняем изменения нажатием «ок».

Расставляем переносы

Это нужно сделать для того, чтобы слова на следующую строку не переносились полностью. Опять же, для экономии места.

Выделяем текст, переходим во вкладку «Разметка страницы», ищем опцию «Расстановка переносов». Нажимаем и выставляем нужные параметры — нас интересует автоматическая расстановка переносов. Теперь все слова будут делиться пополам, и свободного места на страничке не останется.

Настраиваем автоматическое сокращение слов

Качественные шпоры — те, в которых слова грамотно сокращены. Слов, которые можно сократить без потери смысла, полно. Но в ручную это делать долго. К счастью, в ворде есть опция автозамены. Чтобы открыть эту опцию можно нажать клавиши ctrl + H или на главной вкладке выбрать функцию «заменить».

В открывшемся диалоговом окне в поле «найти» пишем слово в полной форме, а в поле «заменить на» — сокращенный вариант. Завершаем процесс автозамены щелчком по «заменить все».

Уменьшаем поля

Параметры полей тоже влияют на размещение текста на странице. Сделайте их небольшими, тогда текста в шпору влезет больше.

Поколдовать над полями можно так: в старой версии ворда — меню «файл», вкладка «параметры страницы, в новой — «разметка страницы» и «поля», затем выбираем опцию «настраиваемые поля». В появившемся окошке задаем параметры для всех сторон. Оптимальные показатели — 0,5-0,7 см.

Если появилось уведомление, что выставленные настройки не соответствуют настройкам принтера, ничего страшного. На качество шпор это не повлияет.

Зауживаем колонки

Во-первых, ваша шпаргалка должна состоять из нескольких колонок. Во-вторых, их должно быть не меньше трех: так текст будет хорошо виден.

Отредактировать колонки можно двумя способами:

  • формат — колонки;
  • разметка страницы — колонки.

В последнем случае вам предложат вариант максимум с 3 колонками. Если нужно больше, воспользуйтесь опцией «число столбцов»: здесь можно задать до 12 колонок.

По умолчанию промежуток равен 1,27 см. Поменяйте его на 0,2 см.

Не забудьте поставить птичку в окошке «разделитель», чтобы потом шпаргалку было удобно вырезать.

Рейтинг
( Пока оценок нет )
Editor
Editor/ автор статьи

Давно интересуюсь темой. Мне нравится писать о том, в чём разбираюсь.

Понравилась статья? Поделиться с друзьями:
Люкс-хост
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: