Рассылку представляет сайт BooksPRO - графика и программирование.
BooksPRO - это сайт для дизайнеров и программистов (как начинающих, так и для профессиональных)! Здесь Вы найдете огромное количество самоучителей, статей, исходников, узнаете, что такое easter eggs и сможете весело отдохнуть от работы, читая анекдоты и увлекательные истории! А главное, все бесплатно! www.bookspro.net.ru
От себя:
Привет! Это опять я и моя рассылка, сказать мне нечего, по-этому сразу к делу!
Таблицы vs. Блоки
Табличная верстка
Большая часть web-страниц, которые вы, являясь пользователем Интернета, ежедневно (еженедельно, ежемесячно) посещаете имеют в основе своей структуры таблицы. Табличная верстка очень популярна и используется
большинством web-мастеров, как начинающих, так и профессионалов.
Способ довольно прост: макет страницы создается в графическом редакторе в формате изображения. На этом этапе происходит разработка дизайна.
Полученное изображение верстальщик делит на определенные области (скажем, хед-лайн, лого и прочее), каждая из которых сохраняется отдельно и
помещается на странице как изображение или фон (background) некоторого элемента в ячейке таблицы. В одной ячейке - логотип, в другой - панель навигации, в третьей - блок основного контента страницы, и так далее. Сама таблица при этом остается не видимой невооруженному глазу. Искусство верстальщика заключается в умении наиболее рационально разделить исходное изображение (например, считается, что несколько маленьких изображений загрузятся быстрее, чем одно большое) и максимально оптимизировать "кусочки", чтобы
страница не получилась слишком тяжелой. При верстке сложных по своей разметке страниц широко используется возможность создавать вложенные таблицы.
Пример кода страницы, сверстанной при помощи таблиц:
<html>
<head>
<title></title>
</head>
<body>
<table width="100%" cellspacing="0" cellpadding="0" border="0">
<tr>
<td height="20" colspan="2" background="head_line.jpg">
<!-- здесь у нас хед-лайн -->
</td>
</tr>
<tr>
<td width="150" height="80">
<!-- здесь будет лого -->
<img src="logo.gif" width="150" height="80" alt="логотип сайта" />
</td>
<td height="80" align="center" valign="middle">
<!-- справа от лого можно поместить баннер -->
<img src="banner.jpg" width="468" height="60" alt="баннер" />
</td>
</tr>
<tr>
<!--
здесь - горизонтальная панель навигации (меню);
ячейке задаем фон с некоторым поворяющимся
изображением (скажем, градиентом), наполняем ячейку
ссылками, разделенными, например, символом bullet
-->
<td height="20" colspan="2" background="menu_backgr.jpg">
<a href="#">главная</a> •
<a href="#">о компании</a> •
<a href="#">услуги</a> •
<a href="#">контакты</a>
</td>
</tr>
<tr>
<td>
<!-- вложенная таблица! -->
<table width="100%" cellspacing="0" cellpadding="10" border="0">
<tr>
<td width="30%" bgcolor="#F7F7F7">
<!-- это левый узкий столбец -->
</td>
<td width="60%">
<!-- это основной контент блок -->
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>
В этом листинге я привел пример кода простейшего макета web-страницы с минимальным количеством структурных элементов. Код занял 53 строки и пять минут моего времени. Созданная страница будет иметь формат .html и полную автономность. Web-сайт, созданный на основе этого примера, будет состоять
из набора страниц, идентичных данной во всем, кроме, к примеру, содержания основного контент блока. К чему я все это говорю? Читайте дальше, и поймете.
Блочная верстка
Теперь мы попробуем воссоздать этот же пример, но уже используя блочную верстку.
Блочная верстка - это создание структуры страницы при помощи боксов CSS.
Модель бокса CSS описывает прямоугольный бокс, который генерируется для элементов дерева документа и располагается в соответствии с моделью визуального форматирования.
Элементы уровня блока это элементы документа-источника, визуально отформатированные как блоки (например, параграфы).
Различные значения свойства 'display' создают элемент уровня блока: 'block', 'list-item', 'compact', 'table'.
Инлайн-элементы это те элементы документа-источника, которые не образуют новых блоков содержимого; содержимое определяется в строке (на месте)
(например, выделенные участки текста внутри параграфа, инлайн-изображения и т.п.). Различные значения свойства 'display' делают элемент инлайн: 'inline',
'inline-table', 'compact' и 'run-in' (не всегда; см. компактные и втягивающиеся боксы).
Для начала мы создадим структуру документа, его XHTML-каркас. Приступим-с.
<html>
<head>
<title></title>
</head>
<body>
<!-- это хед-лайн -->
<div id="head_line"></div>
<!-- это верхняя часть, содержащая лого и баннер -->
<div id="logo_line">
<img src="logo.gif" id="logo" alt="логотип сайта" />
<img src="banner.jpg" id="banner" alt="баннер" />
</div>
<!-- это панель горизонтальной навигации -->
<div id="menu">
<a href="#">главная</a> •
<a href="#">о компании</a> •
<a href="#">услуги</a> •
<a href="#">контакты</a>
</div>
<!-- это левый узкий левый столбец -->
<div id="left_col"></div>
<!-- это основной контент-блок -->
<div id="content_block"></div>
</body>
</html>
Часто можно заметить, что приверженцев блочной верстки называют также "дивниками". Все потому, что в основе блочной модели страницы
лежат контейнеры div, в которые помещаются структурные элементы. Каждому контейнеру мы присвоили уникальный id - они нам очень пригодятся
при создании для каждого div'a правил CSS, которые будут определять их взаимоположение и визуальное форматирование.
/* по умолчанию элемент body имеет отступы; они нам не нужны, убираем */
body {
padding: 0px;
margin: 0px;
}
/* это наш хед-лайн */
div#head_line {
display: block; /* блок; */
width: 100%; /* ширина 100%; */
height: 20px; /* высота 20px; */
/* задали фону повторение по горизонтали, выравнивание влево кверху */
background: url(head_line.jpg) top left repeat-x;
}
/* это линия с лого и баннером */
div#logo_line {
display: block; /* блок; */
width: 100%; /* ширина 100%; */
height: 80px; /* высота 80px; */
}
/* лого */
div#logo_line img#logo {
float: left; /* всплывание - слева */
width: 150px;
height: 80px;
}
/* баннер */
div#logo_line img#banner {
float: left; /* всплывание - слева */
width: 468px;
height: 60px;
margin: 10px 0px 10px 150px; /* выровняли по вертикали и отдвинули от лого */
}
/* это линия меню */
div#menu {
display: block; /* блок; */
width: 100%; /* ширина 100%; */
height: 20px; /* высота 20px; */
padding: 5px; /*внутренний отступ - ВНИМАНИЕ! - не входит в ширину */
/* задали фону повторение по горизонтали, выравнивание влево кверху */
background: url(menu_backgr.jpg) top left repeat-x;
}
/* левый узкий столбец */
div#left_col {
display: block; /* блок */
float: left; /* всплывание - слева */
width: 30%;
padding: 10px; /*внутренний отступ - ВНИМАНИЕ! - не входит в ширину */
background: #F7F7F7;
}
/* основной контент блок */
div#content_block {
display: block;
float: right;
width: 65%; /* несколько процентов ширины "сьели" paddings */
padding: 10px;
}
Код CSS мы поместим в отдельный файл style.css, а в элементе head страницы вставим ссылку на него:
Зачем? Все просто. Помните, я, рассказывая о табличной верстке, говорил про сайт, набранный из n-количества таких страниц?
Теперь представьте, что вам приспичило поменять у левой колонки цвет фона со светло-серого на белый. В первом случае вы будете
корректировать атрибут background у ячейки каждой страницы. А во втором будет достаточно сменить правило для блока left_col в
одном-единственном файле - style.css!
Мы по минимуму использовали возможности CSS в области визуального форматирования, однако, поработав, можно и из этого примитивного макета сделать "конфетку".
Я рассказал про два способа верстки web-страниц, в корне отличающихся друг от друга, имеющих свои недостатки и преимущества.
И хотя я не ставил цели пропагандировать в этой статье какой-то из них, преимуществ у блочной верстки больше - это признали ведущие
специалисты в области web-мастеринга во всем мире.
Три дня и три ночи целовал Иван Царевич спящую принцессу, а потом подумал: "Может, она действительно мертвая?"
***
Дункан Маклауд любил ходить по лесу и издеваться над кукушками.
***
"Что-то здесь не так.." - задyмчиво пpоизнес Колобок, медленно пеpежевывая остатки лисицы.
Полезные ссылки:
www.modding.ru - тут вы узнаете, что такое моддинг и все о нем!
Я уже не знаю хороших сайтов, поэтому буду просто давать ссылки: www.rynet.ru - юмор, фильмы и другая дребедень) www.yandex.ru - очень мощный, но не извесный поисковик. ГЫ )))
Присылайте ссылки на интересные сайты и они будут здесь!
Ответы на вопросы:
Пока вопросов не поступало. Пишите. Также можно (нужно) общаться на форуме BooksPRO! Кстати, там не нужна регистрация!!! Работаю за еду =)
Что ж, на вакансию мало кто идет, поэтому, теперь наоборот я предлагаю свои услуги. Чем могу помочь: постараюсь выполнить любую удаленную работу (установка и настройка CMS, дизайн сайта, создание логотипа, набор текста и т.д.) пишите, если не смогу, откажусь. Что взамен: деньги (беру не много) или ваш вариант (если очень выгодный).