Чтение онлайн

на главную - закладки

Жанры

HTML: Популярный самоучитель
Шрифт:

• label – строка с подписью для группы;

• disabled – запретить выбор пунктов меню, принадлежащих этой группе (аналогично атрибуту disabled для элемента OPTION).

Ниже приведен пример разбиения пунктов меню на группы для двух меню (пример 9.5).

Пример 9.5. Группировка пунктов меню

size = 1

<SELECT name = "menu1">

<OPTGROUP label = "Группа1">

<OPTION value = "1.1.1">Пункт 1.1

<OPTION value = "1.1.2">Пункт 1.2

<OPTION value = "1.1.3">Пункт 1.3

</OPTGROUP>

<OPTGROUP label = "Группа2">

<OPTION value = "1.2.1">Пункт 2.1

<OPTION value = "1.2.2">Пункт 2.2

<OPTION value = "1.2.3">Пункт 2.3

</OPTGROUP>

</SELECT>

size = 4

<SELECT name = "menu2" size = "4">

<OPTGROUP label = "Группа1">

<OPTION value = "2.1.1">Пункт 1.1

<OPTION value = "2.1.2">Пункт 1.2

<OPTION value = "2.1.3">Пункт 1.3

</OPTGROUP>

<OPTGROUP label = "Группа2">

<OPTION value = "2.2.1">Пункт 2.1

<OPTION value = "2.2.2">Пункт 2.2

<OPTION value = "2.2.3">Пункт 2.3

</OPTGROUP>

</SELECT>

Меню,

описанные в примере 9.5, выглядят так, как показано на рис. 9.6.

Рис. 9.6. Внешний вид меню с группированными пунктами

Подписи элементов управления

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

Существует еще один способ задания подписей к элементам управления – использование HTML-элемента LABEL. Задание подписей таким образом осуществляется ничуть не легче, а даже тяжелей, однако добавляет возможностей по автоматической обработке HTML-документа.

Итак, рассмотрим, каким образом создаются подписи с использованием элемента LABEL: между парными тегами <LABEL> и </LABEL> помещается текст подписи, а атрибуту for элемента LABEL присваивается значение, идентифицирующее нужный элемент управления.

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

<LABEL for = «pass»>Введите пароль:</LABEL>

<INPUT type = "password" name = "user_pass" id = "pass">

В рассмотренном примере элемент LABEL явно ассоциируется с полем ввода пароля. Существует еще способ, при котором можно ассоциировать подпись с элементом управления неявно (без задания значения атрибута for элемента LABEL). Для этого нужно поместить элемент управления в теле элемента LABEL. Предыдущий пример при этом может выглядеть так:

<LABEL>

Введите пароль: <INPUT type = "password" name = "user_pass">

</LABEL>

Текст может находиться до или после определения элемента управления. В теле HTML-элемента LABEL в этом случае должно быть только одно определение элемента управления.

9.3. Группировка элементов управления

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

Рамка создается при помощи HTML-элемента FIELDSET. Между парными тегами <FIELDSET> и </FIELDSET> помещаются определения элементов управления, принадлежащих группе. Вокруг этих элементов управления и будет нарисована рамка.

Для создания подписи к рамке нужно внутри элемента FIELDSET определить элемент LEGEND. Этот HTML-элемент задается при помощи парных тегов <LEGEND> и </LEGEND>, между которыми помещается текст подписи. Можно «поиграть» также с выравниванием подписи

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

В заключение рассмотрим, как реализована группировка элементов управления формы, показанной на рис. 9.1 (пример 9.6).

Пример 9.6. Группировка элементов управления

<HTML>

<HEAD>

<TITLE>Пример страницы с формой</TITLE>

</HEAD>

<BODY>

<FORM action="somesite.com/cgi-bin/proc.exe">

<H1>Регистрация почтового ящика</H1>

<FIELDSET>

<LEGEND>Персональная информация</LEGEND>

Фамилия: <INPUT name="personal_lastname" type="text" tabindex="1"><BR>

Имя: <INPUT name="personal_firstname" type="text" tabindex="2"><BR>

</FIELDSET>

<FIELDSET>

<LEGEND>Информация о почтовом ящике</LEGEND>

Адрес: <INPUT name="mail_address" tabindex="3"> <BR>

Пароль: <INPUT name="mail_password" type = "password" tabindex="4">

<BR>

Подтверждение пароля: <INPUT name="mail_password" type = "password"

tabindex="5">

</FIELDSET>

<FIELDSET>

<LEGEND>Дополнительные сведения</LEGEND>

Желаете получать рекламные рассылки?

<INPUT name="add_goods" type="radio" value="Yes" tabindex="6">Да

<INPUT name="add_goods" type="radio" checked value="No"

tabindex="7">Нет

<BR>

Желаете получать прогноз погоды на каждый день?

<INPUT name="add_weather" type="radio" value="Yes" tabindex="8">Да

<INPUT name="add_weather" type="radio" checked value="No"

tabindex="9">Нет

</FIELDSET>

<INPUT type = "submit" value = "Регистрация" tabindex = "10">

<INPUT type = "reset" value = "Сброс" tabindex = "11">

</FORM>

</BODY>

</HTML>

Этот пример является практически законченной страницей с формой: жаль, что по адресу somesite.com/cgi-bin/proc.exe нет реального CGI-приложения, способного обрабатывать форму.

Глава 10

Введение в CSS

Следующие две главы посвящены замечательному и широко используемому средству HTML, значительно облегчающему реализацию единого стилевого оформления при разработке больших веб-сайтов, – каскадным таблицам стилей (CSS, Cascade Style Sheets).

10.1. Возможности CSS

Таблицы стилей позволяют управлять отображением практически любого содержимого HTML-документа. Например, с их помощью можно задать цвет, шрифт и прочие параметры, влияющие на то, как должны показываться заголовки. Можно задать полужирное или еще какое-нибудь начертание шрифта определений в списке определений. Помните, как это приходилось делать вручную в примерах гл. 4?

С использованием таблиц стилей можно забыть о необходимости физического форматирования текста, а также о настройке отображения таблиц, списков и других элементов HTML-документов. Кроме того, таблицы стилей позволяют настраивать даже параметры отображения содержимого документа, недоступные при использовании HTML-элементов (отступы абзацев, стили рамок рисунков и многое другое, вплоть до интервала между буквами текста и свободного позиционирования элементов страницы).

По-настоящему убедиться в полезности CSS можно тогда, когда приходит время менять дизайн всего сайта. Представьте себе, что есть сайт, представляющий собой достаточно большое учебное пособие, например по программированию на С++, содержащее 50 страниц с 200 примерами (листингами). По какой-то причине нужно поменять цвет шрифта этих самых листингов: ничего не поделаешь, придется вносить изменения в каждый тег <PRE> (200 штук). При использовании CSS достаточно изменить (или добавить) одну запись в таблице стилей. И это лишь один из множества возможных примеров.

Поделиться:
Популярные книги

Газлайтер. Том 25

Володин Григорий Григорьевич
25. История Телепата
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Газлайтер. Том 25

Травник

Назимов Константин Геннадьевич
1. Травник
Фантастика:
фэнтези
5.00
рейтинг книги
Травник

Ненаглядная жена его светлости

Зика Натаэль
Любовные романы:
любовно-фантастические романы
6.23
рейтинг книги
Ненаглядная жена его светлости

Я до сих пор князь. Книга XXII

Дрейк Сириус
22. Дорогой барон!
Фантастика:
юмористическое фэнтези
аниме
попаданцы
5.00
рейтинг книги
Я до сих пор князь. Книга XXII

Этот мир не выдержит меня. Том 2

Майнер Максим
2. Первый простолюдин в Академии
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Этот мир не выдержит меня. Том 2

Неудержимый. Книга XXIX

Боярский Андрей
29. Неудержимый
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Неудержимый. Книга XXIX

Сердце Дракона. Том 12

Клеванский Кирилл Сергеевич
12. Сердце дракона
Фантастика:
фэнтези
героическая фантастика
боевая фантастика
7.29
рейтинг книги
Сердце Дракона. Том 12

Темная сторона. Том 1

Лисина Александра
9. Гибрид
Фантастика:
технофэнтези
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Темная сторона. Том 1

Элизиум. Аликс и монеты

Андерсон Александр
1. Элизиум
Фантастика:
фэнтези
сказочная фантастика
8.98
рейтинг книги
Элизиум. Аликс и монеты

Лекарь

Первухин Андрей Евгеньевич
1. Лекарь
Фантастика:
фэнтези
попаданцы
альтернативная история
7.50
рейтинг книги
Лекарь

Тринадцатый XIII

NikL
13. Видящий смерть
Фантастика:
городское фэнтези
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Тринадцатый XIII

Я еще барон. Книга III

Дрейк Сириус
3. Дорогой барон!
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Я еще барон. Книга III

Двойник короля 14

Скабер Артемий
14. Двойник Короля
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Двойник короля 14

Двойник короля 18

Скабер Артемий
18. Двойник Короля
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Двойник короля 18