
- •34. Проектирование, компоновка и представление форм с помощью css
- •Концепции, представленные в этой статье
- •Переопределение правил и маркеров
- •Новые элементы полей формы
- •Изменения относительно предыдущей формы
- •Очевидные недостатки
- •Новые поля форм? Что это?
- •Когда слишком много вариантов выбора: select/option
- •Объединение последовательности элементов управления: fieldset
- •Начинаем с самого начала, заканчиваем готовой формой
- •Демонстрация 1
- •Демонстрация 1: сопутствующие рассмотрения
- •Демонстрация 2
- •Демонстрация 2: сопутствующие рассмотрения
- •Демонстрация 3
- •Демонстрация 3: сопутствующие рассмотрения
- •Создание сетки
- •Создание структуры сетки в композиции
- •Реализация сетки в таблице стилей
- •Демонстрация 4
- •Демонстрация 4: сопутствующие рассмотрения
- •Правило третей
- •Демонстрация 5
- •Демонстрация 5: сопутствующие рассмотрения
- •Демонстрация 6
- •Демонстрация 6: сопутствующие рассмотрения
- •Демонстрация 7
- •Демонстрация 8
- •Демонстрация 8: сопутствующие рассмотрения
- •Демонстрация 9
- •Демонстрация 9: сопутствующие рассмотрения
- •Демонстрация 10
- •Демонстрация 10: сопутствующие рассмотрения
- •Демонстрация 11
- •Демонстрация 11: сопутствующие рассмотрения
- •Демонстрация 12
- •Демонстрация 12: сопутствующие рассмотрения
- •Создание уровней поддержки платформы
- •Сложные компоновки форм на практике (… вместо теории)
- •Заключение
- •Контрольные вопросы
- •Библиография
- •Об авторе
Демонстрация 1: сопутствующие рассмотрения
Когда код XHTML подается с правильным Content-Type агенту пользователя, который правильно его поддерживает, в элементе html изображаются используемые по умолчанию margin и/или padding страницы.
В тех случаях, которые отличаются от описанных в предыдущем пункте, полоска пробела шириной 10px помещается по периметру страницы; Opera делает это как значение padding, в то время как другие браузеры массового рынка делают это (несколько странно) как значение margin. Демонстрационная таблица стилей нормализует результат.
Хотя многие пуристы доступности будут возражать против значения размера шрифта 14px, оно является неотъемлемой частью для различных свойств боксов и типов, определенных где-нибудь в таблице стилей, выраженных по большей части в седьмых долях em. Для тех, кто хочет понять используемую арифметику, в конце статьи представлена таблица преобразования простых дробей в десятичные.
Значение 14px было выбрано, так как оно является наименьшим размером основного текста, который может прочитать практически любой посетитель, использующий коррекцию зрения.
Так как одной из задач данной статьи является демонстрация работы, которая происходит на хорошо согласованной сетке, на страницу была добавлена фоновая сетка с шагом 24 пикселя.
Демонстрация 2
Теперь, когда контейнеры страницы определены, следующая пара шагов изменяет или удаляет стили агента пользователя.
Оформление основного заголовка и удаление нежелательных пробелов.
Новые стили оформления:
h3 {
margin: 0 0 1.2em 0;
border-bottom: .05em solid rgb(0,96,192);
font-size: 1.429em;
line-height: 1.15em;
}
form {
width: 35.929em;
margin: 0;
}
ul {
margin: 0;
padding: 0;
list-style-type: none;
}
Демонстрация 2: сопутствующие рассмотрения
Изменение размера шрифта для заголовков происходит по разному на различных платформах; однако значения по умолчанию всегда пропорциональны значению medium, использованному для неоформленного текста параграфа, и поэтому наследуется через каскадирование. Задача заданного здесь значения состоит в том, чтобы изменить используемую по умолчанию пропорцию.
Считается оптимальным использовать h1 для первого заголовка на странице; здесь эта практика игнорируется, так как в коммерческой производственной среде заголовок сайта часто имеет размер шрифта на странице h1, а заголовок страницы должен помещаться ниже в иерархии заголовков. Во многих случаях степень выделения формы будет совпадать со степенью выделения другого контента или форм в том же документе.
Цель оформления h3 состоит в создании бокса контента высотой 24 пикселя с полосой пробела в 24 пикселя непосредственно ниже, так чтобы:
Необходимо задать значение width для form или для элементов списка, если элементы должны быть правильно выровнены без использования позиционирования. Использованное значение порождает статическое значение 503 пикселя; расхождение в один пиксель (для заданного шага атомарной сетки в 24 пикселя) является продуктом ошибок, создаваемых округлением и сглаживанием.
Используемые по умолчанию стили агента пользователя для списков варьируются от одного браузера к другому. Internet Explorer задает для каждого элемента списка левое поле в 40 пикселей и помещает маркер пункта в полученном свободном пространстве, в то время как другие браузеры используют заполнение слева блока контента формы как целого. Как и со свойствами компоновки, изменяемыми в правиле body, это правило создано специально для нормализации представления для различных браузеров.