
- •Разработка web-приложений Методические указания по выполнению лабораторных работ для студентов всех форм обучения
- •230201 – Информационные системы и технологии Санкт-Петербург
- •Цель лабораторных работ
- •Программно-техническая платформа
- •Теоретическая часть
- •Перечень заданий к лабораторным работам
- •Порядок выполнения лабораторных работ
- •5.1. Работа № 1. «Основы языка разметки html»
- •5.1.1 Создание шаблона html-документа
- •5.1.2 Работа с текстом
- •5.1.3 Списки и таблицы
- •5.1.4 Фреймы
- •5.1.5 Ссылки в документах html
- •5.1.6 Графика и звук в документах html
- •5.1.7 Работа с формами
- •5.2. Работа № 2. «Разработка Web–приложения с использованием html»
- •5.2.1 Создание каркаса страницы
- •5.2.2 Создание заголовка web-страницы. Ячейка top
- •5.2.3 Разработка меню и строки поиска
- •5.2.4 Работа с оформлением, графикой. Ячейки News и Text
- •5.2.5 Создание нижнего меню. Ячейки Copyright и Bottom
- •5.2.6 Создание контента web-страницы. Заполнение ячейки News
- •5.2.7 Заполнение ячейки Text
- •5.3. Работа № 3. «Основы разработки asp.Net приложений»
- •5.4. Работа № 4. «Разработка asp.Net Web-сайта в среде Microsoft Visual Studio»
- •5.5. Работа № 5. «Поиск хостинг провайдера и публикация Web-приложения в сети Internet»
- •Содержание отчета по лабораторным работам
- •Список литературы
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 {
}