Работа 1. Позиционирование блоков на странице

В этом занятии мы научимся создавать интернет-страницу, в которою, в дальнейшем, будет встроена карта.
Для работы нам понадобится текстовый редактор (блокнот). Рекомендую вместо стандартного блокнота использовать программу Notepad++. Вначале создаем новый документ и во вкладке «Синтаксис» выбираем HTML. Теперь набираемый код будет подсвечиваться. Для автоматического закрытия скобок, кавычек и тегов можно воспользоваться функцией автозавершения: Опции-Настройки...-Автозавершение-Установить галочки напротив необходимых символов. Использовать кодировку UTF-8.

Для позиционирования элементов используются блоки (div-ы). Проектируемую страницу необходимо визуально разделить на прямоугольные блоки. Например, мы разбили страницу на три блока: заголовок, меню, карта.
Получим следующий html-код:

Пример страницы с тремя блоками
Заголовок
Меню
Карта
  1.   <head>
  2.     <title>Вариант 1</title>
  3.  
  4.     <style>
  5.     #header{
  6.       position: absolute;
  7.       background: #9FB6CD;
  8.       width: 100%;
  9.       height: 50px;
  10.       left: 0px;
  11.       top: 0px;
  12.     }
  13.     #menu{
  14.       position: absolute;
  15.       background: #B9D3EE;
  16.       width: 100px;
  17.       left: 0px;
  18.       top: 50px;
  19.       bottom: 0px;
  20.     }
  21.     #map{
  22.       position: absolute;
  23.       background: #C6E2FF;
  24.       left: 100px;
  25.       right:0px;
  26.       top: 50px;
  27.       bottom: 0px;
  28.     }
  29.     </style>
  30.  
  31.   </head>
  32.   <body>
  33.     <div id="header">Заголовок</div>
  34.     <div id="menu">Меню</div>
  35.     <div id="map">Карта</div>
  36.   </body>
  37. </html>

Каждому блоку присвоен соответствующий идентификатор (id). Параметры позиционирования и оформление блоков задаются с помощью команд CSS, которые вынесены в заголовок сайта и заключены в теге style. Связь блоков и стилей происходит посредством идентификаторов (в теге div id="идентификатор" соответствует стилю #идентификатор).
Положение блоков задается абсолютным позиционированием (position: absolute;), т.е. задаётся относительно краёв браузера или по ширине и высоте блока.

  • width: 100%; // ширина блока; размер любого параметра может быть задан в пикселях (px), либо в процентах (в этом случае размеры будут зависит от разрешения экрана или от родительского блока)
  • height: 50px; // высота блока
  • left: 0px; // расстояние от левого края родительского элемента
  • right:0px; // расстояние от правого края родительского элемента
  • top: 0px; // расстояние от верхнего края родительского элемента
  • bottom: 0px; // расстояние от нижнего края родительского элемента

Таким образом, ширину блока можно задать несколькими способами:

  • Указать left и width - позиционирование блока относительно левой стороны
  • Указать right и width - позиционирование блока относительно правой стороны
  • Указать left и right - позиционирование блока относительно двух сторон, ширина вычисляется

Если указать одновременно все три параметра left, width и right, то параметр right будет игнорироваться браузером.
Аналогично можно записать правила для параметров высоты блока top, height и bottom.
Все отступы и размеры, указанные в процентах, отсчитываются от размеров и границ родительских элементов. Размеры блоков верхнего уровня (как в примере) рассчитываются относительно размеров всей страницы. Если один блок вложен в другой блок, то его размеру вычисляются уже относительно родительского блока, а не всей страницы.
Существует большое количество вариантов размещения блоков. Ниже приведено несколько примеров.

Пример страницы с плавающими элементами
Карта
Меню
Заголовок
Пример страницы с подвалом
Заголовок
Меню
Карта
Подвал
Пример страницы с картой встроенной в текст (контакты)
Заголовок
Текст
Карта
Подвал
Одноколоночный макет страницы
Заголовок
Текст
Карта
Меню
Подвал