
- •Введение
- •Глава 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
3.19. Задание положения
Как только схема позиционирования описана, по четырем значениям сдвига осуществляется реальное размещение с помощью свойств top, right, bottom, left, значениями которых могут быть <длина>, <процент>, auto или inherit. Начальное значение: auto.
Значения, заданные для каждого из свойств сдвига, определяют то расстояние, на которое элемент должен быть сдвинут от конкретного края. Положительные значения сдвигают элемент к центру охватывающего блока, а отрицательные – «толкают» его вовне.
В следующем примере при помощи процентных значений элемент размещается в левом нижнем углу охватывающего.
div {position: absolute; height: 120px; width: 300рх; border: 1px solid #000; }
img {position: absolute; top: 100%; left: 0%;}
3.20. Обработка переполнения
В тех случаях, когда размер элемента чересчур мал для того, чтобы тот мог вместить свое содержимое, возможно определить порядок действий над содержимым, которое не помещается в элемент. Для этих целей используется свойство CSS overflow со значениями : visible, hidden, scroll, auto, inherit. Начальное значение: visible.
Значение по умолчанию – разрешает выводить содержимое и вне пределов прямоугольника элемента.
Если значение overflow равно hidden, то содержимое, которое не вмещается внутрь прямоугольника элемента, отсекается и не выводится вообще.
При выборе scroll к прямоугольнику элемента добавляются полосы прокрутки даже в том случае, если содержимое элемента помещается на экране.
При значении auto прокрутка добавляется лишь при условии, что содержимое не вмещается.
Можно
задать размеры и положение зоны видимости
при помощи свойства clip
со
значениями
rect(top, right, bottom, left), auto, inherit.
Для управления видимостью элемента как такового используется свойство CSS visibility со Значениями visible, hidden, collaps, inherit.
Замечание: Значение collapse рекомендуется для использования в столбцах и строках таблиц, отвечающих правилам CSS. Использование collapse с любыми прочими элементами может их скрыть, однако лучше всего этого избегать. Это значение не поддерживает Internet Explorer для Windows версии 6 и ниже.
Элементы могут перекрываться. По умолчанию наложение элементов происходит в порядке их появления в документе, при этом более «поздние» отображаются поверх тех, которые следовали до них. Можно изменить порядок наложения элементов, установив свойство z-index. Свойство z-index принимает любое целочисленное значение, как положительное, так и отрицательное. При этом чем больше значение, тем выше место данного элемента в «стеке», отрицательные значения отодвигают элемент «глубже» по оси z.
3.21. Расчет позиции элемента
Хотя задать позицию элемента, используя свойства сдвига, – дело простое, все может усложниться в том случае, если расстояния смещения перемешаны с отступами и шириной содержимого элемента и на них действуют ограничения охватывающего блока по ширине. На деле в CSS 2.1 содержится ошеломительно обстоятельный список ограничений и правил урегулирования конфликтов с несовместимыми и неуказанными значениями.
Ниже приведен общий прикладной обзор правил, которые должны помочь в большинстве случаев.
По правилам если значения несовместимы или не заданы, то, говоря обобщенно, пространство скорее подгоняется справа для языков, где пишут слева направо (и слева – для языков, где пишут справа налево). Проблемы с высотой блока разрешаются подгонкой с нижней стороны элемента.
В том случае, если все значения заданы (т. е. значений auto нет), а сумма не равна ширине охватывающего блока, пользовательский агент должен просто проигнорировать значения сдвига справа (для языков, где пишут слева направо) и снизу, допустив расхождения на соответствующих сторонах.
Если ширина элемента указана, она уже не меняется. Если, напротив, ширина текстового (незамещаемого) объекта равна значению auto, то зона вывода содержимого «подгоняется по размеру» так, чтобы оказаться достаточной для вывода в ширину. Значение auto замещаемых элементов, например изображений, меняется на реальные размеры объекта в пикселях.
Ширина зоны содержимого элемента меняется по размеру только в том случае, если установлена в auto, а все другие свойства при этом имеют конкретно заданные значения. Являясь единственным параметром, равным auto, ширина элемента становится последним вариантом подгонки и соответственно корректируется.
Для выполнения нужных корректировок агенты сначала ищут auto в значениях правого (для языков с письмом слева направо) отступа или сдвига. Для вертикальной подгонки меняются равные auto свойства нижнего края.
Когда значения top и left равны auto, элемент как было сказано выше помещается в «статическую» позицию, которая изменяется лишь в том случае, если все остальные параметры имеют заданные значения, a left (по горизонтали) и top (по вертикали) являются единственными параметрами со значением auto. Во всех других случаях пространство слева и сверху не корректируется.
При таком поведении и этих ограничениях простейший и наиболее предсказуемый способ произвести абсолютное позиционирование элемента – указать его ширину, а также сдвиги сверху (top) и слева (left). Тем самым отступы от объекта будут сохранены, а пространство справа и снизу может гибко меняться, чтобы соответствовать параметрам охватывающего блока.
Замечание: Приведенные правила исходят из корректности поведения согласно спецификации CSS 2.1 и излагают основы работы браузеров, соответствующих стандарту. Не забывайте, однако, что из-за трудностей в реализации модели прямоугольников в Internet Explorer для Windows (всех версий, кроме режима Standards в IE 6 и 7) используется иной метод расчета положения элементов с учетом заполнения, отступов и границ.