
- •Введение
- •Глава 1. Основы
- •1.1. Браузеры
- •Преодоление различий браузеров
- •1.2. Программирование
- •1.3. Дизайн при неизвестном разрешении монитора
- •Гибкая раскладка
- •Дизайн с фиксированной шириной
- •1.4. Знакомство с серверами
- •Корневая директория для Web
- •Java-сервлеты и jsp
- •Абсолютная и относительная адресация
- •Соглашения об именах файлов
- •Выбор кодировки
- •Глава 2. Html и xhtml
- •2.1. Роль html
- •2.2. Отделение представления от структуры документа
- •2.3. Атрибуты
- •Вложенные элементы
- •Информация, которую браузеры игнорируют
- •2.4. Введение в xhtml
- •Три разновидности html 4.01 и xhtml 1.0
- •Хорошо сформированный xhtml
- •Атрибуты id и name
- •2.5. Элементарная структура документа
- •2.6. Тело документа
- •2.7. Текстовые элементы
- •Блочные элементы
- •Внутристрочные элементы логического форматирования
- •Перенос строки
- •Горизонтальные линейки
- •Стилевые элементы
- •Практика
- •Как сделать хороший html – документ
- •2.8. Создание гиперссылок
- •Организация ссылок на область документа
- •Практика
- •2.9. Таблицы
- •Описательные элементы
- •Группы строк
- •Столбцы и группы столбцов
- •2.10. Фреймы
- •Преимущества использования фреймов
- •Недостатки
- •Базовая структура набора фреймов
- •Нестандартные атрибуты
- •Нестандартные атрибуты
- •Создание строк и столбцов
- •2.11. Формы
- •Элементы форм
- •Поле для ввода текста
- •Поле для ввода пароля
- •Переключатель
- •Выбор файла
- •Многострочные текстовые поля
- •Создание меню при помощи элементов select
- •Группы вариантов
- •Надписи
- •Атрибуты accesskey и tabindex
- •Практика
- •Глава 3. Стили css
- •3.1. Преимущества css
- •Определение – задают свойства селектора.
- •3.2. Способы добавления таблиц стилей на Web-страницы
- •Href – позволяет задать url-адрес таблицы стилей.
- •Наследование
- •3.3. Конфликтующие правила стилей: каскад
- •3.4. Контекстные селекторы
- •3.5. Использование классов
- •3.6. Группировка
- •3.7. Псевдоселекторы
- •3.8. Другие псевдоклассы css 2.1
- •Псевдоэлементы
- •3.9. Единицы измерения, используемые в каскадных таблицах стилей
- •3.10. Свойства css для управления цветом
- •Практика Задание 1
- •Задание 2
- •Задание 3
- •3.11. Оформление таблиц с помощью css
- •Заголовки таблиц
- •Порядок наложения элементов
- •Границы
- •Расчет размеров таблицы (ширина, высота)
- •Алгоритм с фиксированной шириной
- •Алгоритм с автоматически определяемой шириной
- •3.12. Оформление таблиц
- •Практика
- •3.13. Блочные и внутристрочные элементы
- •3.14. Введение в блоковую модель
- •3.15. Нормальный поток
- •Свободное размещение
- •3.16. Пропуск размещаемых элементов
- •3.17. Позиционирование: основы
- •3.18. Охватывающий блок
- •3.19. Задание положения
- •3.20. Обработка переполнения
- •3.21. Расчет позиции элемента
- •3.22. Фиксированное позиционирование
- •3.23. Относительное позиционирование
- •Практика
- •3.24. Css свойства
- •3.25. Методики css
- •Центрирование страницы
- •Раскладка в 2 столбца
- •Раскладка в 3 столбца
- •Раскладка в 3 столбца c абсолютным позиционированием
- •Позиционирование трех столбцов
- •Центрирование с рамками и полями
- •Ложные столбцы
- •Заключение
- •Список литературы
- •Оглавление
- •Глава 1. Основы 4
- •Глава 2. Html и xhtml 15
- •Глава 3. Стили css 56
Порядок наложения элементов
Согласно модели визуального форматирования таблиц разнообразные табличные элементы считаются относящимися к различным наложенным друг на друга слоям, определяющим видимость конкретных фрагментов фона. По умолчанию элементы прозрачны и допускают просвечивание фона «нижних» слоев. При этом фон конкретного элемента виден, если все элементы «выше» него прозрачны.
Порядок наложения слоев с табличными элементами «сверху вниз» следующий: ячейка, строка, группа строк, столбец, группа столбцов, таблица.
Другими словами, закраска фона ячейки перекрывает фоновый цвет строки, группы строк и т. д.
Границы
В CSS 2.1 имеются две модели управления границами, выбор которых определяется свойством:
border-collapse
Значения: collapse | separate | inherit
Начальное значение: collapse
Модель раздельных границ (border-collapse: separate)
Граница отображается со всех четырех сторон каждой из ячеек таблицы, а с помощью border-spacing можно добавить дополнительный межъячеечный промежуток.
border-spacing
Значения: <длина1> <длина2> | inherit
<длина1> - горизонтальный промежуток между ячейками в каждой строке таблицы.
<длина2> - значение промежутка по вертикали.
Если задается только одно значение, то оно действует в обоих направлениях одновременно. Например:
table {
border-collapse:separate;
border-spacing:10px 3 px;
border:none;}
td { border: 1px solid black;}
Рис 3. 2. Таблица с промежутком между ячейками
Если значение border-spacing равно нулю, это вызывает касание смежных границ ячеек, а значит, и «удвоение» таковых во внутренней части сетки.
Модель сжимающихся границ (border-collapse: collapse)
В модели сжимающихся границ границы смежных ячеек «сжимаются», так что видна одна-единственная граница, а дополнительный промежуток между границами удаляется. Рис. 3 показывает таблицу из предыдущего примера:
table {
border-collapse: collapse;
border:none;}
td {
border: 1px solid black;}
Рис 3. 3. Таблица со сжатыми межъячеечными границами
Границы между ячейками центруются по линиям межъячеечной сетки. Поэтому если пара смежных ячеек имеет границу толщиной 8 пикселей, на область каждой ячейки придутся по четыре из них. Если граница занимает нечетное число пикселей, то выбрать, где вывести «лишний» пиксель, должен пользовательский агент. Широкие границы по внешним краям таблицы могут выходить в зону отступа.
Явно определив свойство таблицы border-collapse : collapse, удаляют все дополнительное пространство и даже небольшие зазоры между границами, которые автоматически мог вставлять браузер.
Расчет размеров таблицы (ширина, высота)
Браузер может использовать один из двух алгоритмов расчета значения ширины таблицы: с фиксированной и автоматически определяемой шириной. Конкретный способ расчета для соответствующей таблицы создатели Web-страниц могут указывать посредством выбора значения table-layout.
table-layout
Значения: auto | fixed | inherit
Начальное значение: auto
Алгоритм с фиксированной шириной
Значение table-layout: fixed говорит браузеру, что находить размеры таблицы нужно, используя «фиксированный» алгоритм вычислений. Подобный способ расчета требует от агента наименьших усилий, так как искомую ширину определяют значения свойства width таблицы, ее столбцов и ячеек.
Прежде всего агент использует ширину столбцов с конкретно заданными значениями (не auto). Затем просматривает ячейки первой строки. Ячейки с заданной шириной (не auto) определяют ширину тех столбцов, в которые они входят. Оставшимся столбцам с шириной auto назначается примерно равная ширина, достаточная, чтобы заполнить остаток места в таблице.
Итоговой шириной таблицы становится сумма ширин столбцов или значение width табличного элемента table, точнее большее из значений.
Существенным аспектом этой модели является учет ширины ячеек только первой строки. Поэтому если верхняя ячейка таблицы имеет ширину 200, а любая из расположенных ниже в том же столбце – 350 пикселей, столбцу таблицы будет назначена ширина 200. В модели с фиксированной структурой настройки строк ниже первой игнорируются.
Преимущество такой модели состоит в том, что она гораздо быстрее автоматической. Эта модель зависит от конкретных значений ширины столбцов и таблицы и не учитывает ячейки ниже первой строки, так что потребность в разборе синтаксиса и вычислении размеров содержимого всей таблицы для нахождения ширины последней не возникает.
table-layout: fixed поможет уменьшить время вывода приложения. Достаточно убедиться, что задана конкретная ширина всех столбцов или ячеек первой строки таблицы.