HTML 5, CSS 3 и Web 2.0. Разработка современных Web-сайтов
Шрифт:
— none — обычное поведение. Если контейнеру, для которого указан данный атрибут стиля, предшествуют плавающие контейнеры, задавать это значение не рекомендуется.
Пример:
#ccopyright { clear: both }
Здесь мы задали для именованного стиля ccopyright (он применяется к контейнеру, содержащему сведения об авторских правах) расположение ниже всех контейнеров, выровненных по левому или правому краю родительского элемента.
Представление для нашего Web-сайта,
Полученных нами знаний уже достаточно для того, чтобы создать контейнерный дизайн для нашего Web-сайта. Давайте займемся этим.
Как обычно, выпишем список параметров для всех созданных ранее контейнеров. Для контейнера с заголовком Web-сайта (cheader):
— ширина — 100 % (все окно Web-обозревателя).
Для контейнера с полосой навигации (cnavbar):
— ширина — 30 % (примерно треть ширины окна Web-обозревателя);
— минимальная ширина — 240 пикселов (это значение получено автором в результате экспериментов; оно примерно равно ширине полосы навигации);
— выравнивание — по левому краю (т. е. это будет плавающий контейнер).
Для контейнера с основным содержимым (cmain):
— ширина — 70 % (примерно две трети ширины окна Web-обозревателя);
— выравнивание — по левому краю.
Для контейнера со сведениями об авторских правах (ccopyright):
— ширина — 100 % (все окно Web-обозревателя);
— расположение — ниже всех плавающих контейнеров, выровненных по левому и правому краям.
Как видим, ни у одного контейнера явно не задана высота. Web-обозреватель сам установит ее такой, чтобы контейнер при указанной ширине полностью вместил свое содержимое.
На основе перечисленных требований напишем CSS-код, определяющий нужные стили (листинг 10.5).
Листинг 10.5
#cheader { width: 100 % }
#cnavbar { width: 30 %; min-width: 240px; float: left }
#cmain { width: 70 %; float: left }
#ccopyright { width: 100 %; clear: both }
Поместим этот код в самый конец таблицы стилей main.css, после чего сохраним ее. Откроем Web-страницу index.htm в Web-обозревателе и посмотрим, что получилось (рис. 10.2).
Мы сделали это! Много времени ушло на изучение HTML и CSS, но результат того стоит. Вот она — наша первая Web-страница, выполненная по канонам современного Web-дизайна.
Еще немного полюбуемся на преобразившуюся Web-страницу. И снова за дело.
Рис. 10.2. Web-страница index.htm, выполненная на основе контейнерного Web-дизайна, в Web-обозревателе
Параметры переполнения. Контейнеры с прокруткой
Ни у одного из контейнеров, формирующих дизайн нашей Web-страницы, мы не
Но что случится, если мы зададим для контейнера высоту? Тогда может выйти так, что содержимое контейнера не поместится в нем, и возникнет переполнение контейнера. Поведение контейнера зависит от параметров, которые мы зададим для него.
Атрибут стиля overflow как раз и задает поведение контейнера при переполнении:
overflow: visible|hidden|scroll|auto|inherit
Здесь доступны четыре значения:
— visible — высота контейнера увеличится, чтобы полностью вместить все содержимое (обычное поведение);
— hidden — не помещающееся в контейнер содержимое будет обрезано. Контейнер сохранит свои размеры;
— scroll — в контейнере появятся полосы прокрутки, с помощью которых можно просмотреть не помещающуюся часть содержимого. Эти полосы прокрутки будут присутствовать в контейнере всегда, даже если в них нет нужды;
— auto — полосы прокрутки появятся в контейнере, только если в них возникнет необходимость.
Пример:
#cmain { overflow: auto }
Мы задали для контейнера cmain такое поведение, когда при выходе содержимого за границы контейнера в нем появятся полосы прокрутки.
Здесь нужно сказать еще вот что. Атрибут стиля overflow имеет смысл только в том случае, если мы зададим для высоты контейнера абсолютное значение. При указании относительного значения высоты контейнера он всегда будет увеличиваться в размерах для того, чтобы вместить все содержимое, как будто для атрибута стиля overflow задано значение visible:
#cmain { height: 500px; overflow: auto }
Вот теперь контейнер cmain при необходимости обзаведется полосами прокрутки.
А в следующем примере атрибут стиля overflow можно не указывать — контейнер cmain всегда будет вести себя так, будто для упомянутого атрибута стиля задано значение visible:
#cmain { height: 50 %; overflow: auto }
Атрибуты стиля overflow-x и overflow-y задают поведение контейнера при выходе содержимого за пределы его границ, соответственно, по горизонтали и вертикали. Доступные значения у них те же, что и у атрибута стиля overflow:
#cnavbar { width: 270px; overflow-x: hidden }
Пользуясь только что изученными атрибутами стиля, мы можем создать на Web-странице контейнеры с прокруткой! Это обычные контейнеры с большим содержимым, для просмотра которого предусмотрены полосы прокрутки. Их преимущество в том, что посетитель, прокручивая содержимое такого контейнера, не затрагивает все остальные фрагменты Web-страницы (заголовок Web-сайта, полоса навигации и сведения об авторских правах). Весьма удобно.
Стеллар. Трибут
2. Стеллар
Фантастика:
боевая фантастика
рпг
рейтинг книги
Его огонь горит для меня. Том 2
2. Мир Карастели
Фантастика:
юмористическая фантастика
рейтинг книги
На границе империй. Том 9. Часть 4
17. Фортуна дама переменчивая
Фантастика:
космическая фантастика
попаданцы
рейтинг книги
Наследник
1. Рюрикова кровь
Фантастика:
научная фантастика
попаданцы
альтернативная история
рейтинг книги
