Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Разработка web-приложений.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.7 Mб
Скачать

5.2. Работа № 2. «Разработка Web–приложения с использованием html»

5.2.1 Создание каркаса страницы

Итак, у нас есть макет страницы (допустим, в формате Photoshop). На рисисунке 1- его уменьшенное изображение. Она выглядит абсолютно одинаково в Internet Explorer, Opera и Firefox. Вся страница хорошо растягивается, даже формы ввода.

Далее подробно рассмотрим технологию такой верстки, чтобы html-страница:

  • не зависимо от разрешения экрана, браузера (возьмем самые популярные: IE, Firefox, Opera), темы оформления Windows и настроения вебмастера, выглядела бы одинаково - как на макете;

  • была «читаемой» даже при отключенной графике;

  • имела легкий, удобный для редактирования html-код;

  • растягивалась на полную ширину экрана.

Рис. 1 Внешний вид разрабатываемого web-сайта

Создайте файлы index.html и style.css, в процессе верстки мы постараемся большую часть форматирования вынести в style.css:

  • размер html-страниц будет меньше;

  • если вы в будущем захотите отредактировать дизайн сайта, вам не понадобится менять все html-файлы - только style.css.

Наметим «каркас» нашей страницы. Удобно делать его в виде таблицы 100%-й высоты, разделенной на 3 горизонтальные области - Top, Text и Bottom. Top и Bottom имеют фиксированную высоту, а ячейка Text растягивается по высоте на всю оставшуюся часть экрана. Таким образом, даже когда на странице мало или совсем нет текста, Bottom всегда находится там, где ему положено – внизу (рис.2).

Рис. 2 Каркас страницы

Cделаем разметку немного сложнее, т.к. нам нужно, чтобы блоки Search, News, Copyright были равны по ширине. Лучший способ этого добиться - поместить их в ячейки таблицы, расположенные одна над другой (рис.3).

Рис. 3 Каркас страницы

Вот получившийся html-код (для удобства чтения разметки параметр border="1" в теге <table> содержит внутри каждой ячейки ее название, чтобы мы удостоверились, что сделали разметку правильно). Потом все это нужно будет удалить.

index.html

<title></title>

<link href="style.css" rel="stylesheet" type="text/css" />

<table border="1" class="main">

<tbody>

<tr>

<td class="top" colspan="2">top</td>

</tr>

<tr>

<td class="search">search</td>

<td class="topmenu">topmenu</td>

</tr>

<tr>

<td class="news">news</td>

<td class="text">text</td>

</tr>

<tr>

<td class="copyright">copyright</td>

<td class="bottommenu">bottommenu</td>

</tr>

</tbody>

</table>

style.css

table.main {width: 100%; height: 100%;}

td.top {}

td.search {}

td.topmenu {}

td.news {width: 30%;}

td.text {width: 70%; height: 100%;}

td.copyright {}

td.bottommenu {}

Для каждой ячейки был создан класс в style.css. Посмотрите на первый рисунок. Пока эти классы пустые, наша таблица в браузере не очень похожа на ту, которая на макете. Чтобы она выглядела так, как на втором рисунке, необходимо внести еще несколько изменений. (рис.4).

Рис. 4 Редактирование каркаса

1) Чтобы не было промежутков между таблицей и границами экрана, пишем:

html, body {margin:0px; padding:0px;}

2) Чтобы убрать зазоры между ячейками, добавляем в свойства таблицы border-collapse: collapse (это аналог html-параметра cellspacing="0").

table.main {border-collapse: collapse;}

3) Чтобы убрать отступы внутри ячеек, пишем:

td {padding: 0px;}

Также нужно прописать несколько общих параметров, которые будут использоваться по умолчанию:

5) Цвет фона для и элементов форм. Когда фон белый, об этом часто забывают. Тогда у пользователей, установивших какую-нибудь экзотическую тему оформления Windows, некоторые ячейки могут оказаться, например, зелеными :)

6) Когда большая часть текста будет написана одним шрифтом (в нашем случае - Tahoma 11px, черный), имеет смысл указать его сразу для всех ячеек и элементов форм.

7) По умолчанию текст и изображения располагаются (вертикально) в середине ячейки. Обычно удобнее, чтобы они подтягивались к верхнему краю. Для этого нужно указать vertical-align: top для всех ячеек.

body, input, select, textarea {background-color: #ffffff;}

td, input, select, textarea {

font-family: Tahoma;

font-size: 11px;

color: #000000;

vertical-align: top;

}

Каркас готов. Посмотрите html-страницу, а также полный текст файлов index.html и style.css (представлено ниже).

Main.html

<html>

<head>

<title>Layout</title>

<link href="style.css" rel="stylesheet" type="text/css">

</head>

<body>

<table class="main" border="1">

<tr>

<td class="top" colspan="2">top</td>

</tr>

<tr>

<td class="search">search</td>

<td class="topmenu">topmenu</td>

</tr>

<tr>

<td class="news">news</td>

<td class="text">text</td>

</tr>

<tr>

<td class="copyright">copyright</td>

<td class="bottommenu">bottommenu</td>

</tr>

</table>

</body>

</html>

index.html

<html>

<head>

<title>Layout</title>

<link href="style.css" rel="stylesheet" type="text/css">

</head>

<body>

<table class="main" border="1">

<tr>

<td class="top" colspan="2">top</td>

</tr>

<tr>

<td class="search">search</td>

<td class="topmenu">topmenu</td>

</tr>

<tr>

<td class="news">news</td>

<td class="text">text</td>

</tr>

<tr>

<td class="copyright">copyright</td>

<td class="bottommenu">bottommenu</td>

</tr>

</table>

</body>

</html>

style.css

html, body {

margin:0px;

padding:0px;

}

body, input, select, textarea {

background-color: #ffffff;

}

td, input, select, textarea {

font-family: Tahoma;

font-size: 11px;

color: #000000;

vertical-align: top;

}

td {

padding: 0px;

}

table.main {

width: 100%;

height: 100%;

border-collapse: collapse;

}

td.top {

}

td.search {

}

td.topmenu {

}

td.news {

width: 30%;

}

td.text {

width: 70%;

height: 100%;

}

td.copyright {

}

td.bottommenu {

}