Сегодня я хочу начать цикл публикаций создай свой первый сайт сам, с чистого листа. Как известно все начинающие программисты, в том числе и я 7 лет назад, создал свой первый сайт на html конечно. Вот сегодня я хочу научить желающих создавать свои сайты пусть пока и простые статичесские. Хочу начать с самых низов, дойти до выгрузки созданного сайта на локальном компьютере, в сеть интернет, тоесть на хостинг. Объясню и покажу как зарегистрировать домен, хостинг, подключить сайт, DNS сервера и все другие примудрости сайтостроения, от а до я. Сегодняшнюю публикацию хочу посвятить созданию шапки страници сайта, созданию шаблона и первой страници.
Шаг первый для создания своего первого сайта
Открываем любой текстовый редактор, я буду использовать notepad++, если у вас есть вызуальный редактор сайтов заходим в него. После того как мы открыли текстовый редактор создаем новый файл, и сохраняем его как index.html - это будет наша главная страница нашего первого сайта. Страница под названием index.html будет открываться автоматичесски при открытии директории или основного домена. Страници с расширением html не требуют обязательных серверов, или интерпретаторов, браузер обработает ее сам без дополнительного оборудования. Это значит, что мы сразу сможем протестировать, что у нас получилось. После создания файла начнем записывать шапку сайта. Поскольку сейчас все переходят на html5. Мы будим делать нашу страницу согласно стандартам html5.
Шапка сайта, с чего начать и как ее прописать
Шапка сайта всегда должна начианаться так
Код HTML
<!DOCTYPE HTML>
Здесь мы указали тип документа и далее указываем само начало шапки сайта так.
Код HTML
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8"> // кодировка
<meta name="description" content="описание сайта или страници">
<meta name="keywords" content="ключевые слова для поисковиков">
<title>Мой первый сайт на html</title>
// здесь можно добавить скрипты
<script src="здесь путь к скрипту с расширением js"></script> // пример подключения скриптов
// здесь подключаем стили если есть, а у нас будут смотрим пример
<link href="путь к файлу с расгирением css" rel="stylesheet" type="text/css">
// и наконец давайте подключим favicon
<link rel="shortcut icon" href="путь к файлу - favicon.ico">
</head>
<body>
// Шапка закончилась
// Здесь будет содержимое страници
// Подвал сайта закрывающие теги
</body>
</html>
// все страница закончилась, структура создана
Вот пример создания шапки сайта. Примерно так за исключением некоторых дополнительных метатегов, создаються все сайты на html и php. Я думаю здесь все прокомментировал в коде достаточно, больше объяснений не потребуется. А мы продолжаем и начинаем создавать нашу первую страницу - делаем html разметку сайта. Как делать разметку я уже писал здесь. А сегодня мы уже создаем свой настоящий первый сайт и нашу первую старницу. Я сейчас покажу уже готовый код реализации, а вы можете просто скопировать его и вставить между тегами <body></body>
Код HTML
<div class="container">
<header>
<!--Логотип-->
<a href="#"><img src="путь к изображению логотипа" alt="Место для логотипа" width="180" height="90" id="Insert_logo" style="background: #C6D580; display:block;"></a>
</header>
<div class="sidebar1">
<!-- Меню -->
<nav>
<ul>
<li><a href="#">Ссылка 1</a></li>
<li><a href="#">Ссылка 2</a></li>
<li><a href="#">Ссылка 3</a></li>
<li><a href="#">Ссылка 4</a></li>
</ul>
</nav>
<!--Конец меню-->
<!--Начало левая колонка-->
<aside>
<h1>Левая колонка</h1>
</aside>
<!--КОнец левая колонка-->
<!-- end .sidebar1 --></div>
<!--Начало центральной части-->
<article class="content">
<h1>Центральная часть</h1>
<section>
</section>
<!-- end .content --></article>
<!--Конец центральной части-->
<!--Начало правой колонки-->
<aside>
<h4>Правая колонка</h4>
</aside>
<!--Конец правой колонки-->
<!--Начало подвала сайта футер-->
<footer>
<address>
Содержимое адреса
</address>
</footer>
<!-- end .container --></div>
Вот теперь мы создали с вами разметку дя нашей главной страници нашего собственного сайтa на html. Далее будим создавать css стили для сделанного нами шаблона сайта с ноля.
Создаем стили css для первого сайта. Как создать CSS каскадные таблици стилей для нашего первого сайта сейчас мы с вами и разберем. Снова заходим в блокнот, или его аналог, создаем новый файл и сохраняем его как style.css. CSS - это расширение файла. Я рекомендую стили писать отдельно от html кода. Создали файл style.css и приступаем к его написанию. Как вы видите, я уже приготовил некоторые классы для нашего шаблона и прописал их сразу в структуре разметки страници смотрите выше. Я сейчас покажу и прокомментирую код написанный для классов.
Код CSS
@charset "utf-8";
/* Начало CSS */
body {
font: 100%/1.4 Verdana, Arial, Helvetica, sans-serif;
background: #42413C;
margin: 0;
padding: 0;
color: #000;
}
/* ~~ Селекторы элементов/тегов ~~ */
ul, ol, dl { /* Из-за различий между браузерами рекомендуется обнулять поля в списках. Для согласованности можно указать нужные величины либо здесь, либо в элементах списка (LI, DT, DD), которые они содержат. Помните, что сделанное здесь последовательно включается в список .nav, если только не будет прописан более конкретный селектор. */
padding: 0;
margin: 0;
}
h1, h2, h3, h4, h5, h6, p {
margin-top: 0; /* Удаление верхнего поля позволит обойти проблему выхода полей за границы содержащего их контейнера блока. Оставшееся нижнее поле изолирует его от всех последующих элементов. */
padding-right: 15px;
padding-left: 15px; /* Добавление боковых полей к элементам внутри контейнеров блока, а не к самим элементам контейнеров избавит от необходимости расчета рамочной модели. В качестве альтернативы можно использовать вложенный контейнер блока с боковыми полями. */
}
a img { /* Этот селектор убирает стандартную синюю рамку, которая появляется у изображений в некоторых браузерах, если вокруг изображения есть ссылка. */
border: none;
}
/* ~~ Оформление ссылок на вашем сайте должно оставаться в этом порядке, включая группу селекторов, создающих эффект наведения. ~~ */
a:link {
color: #42413C;
text-decoration: underline; /* Если только ссылки не должны выглядеть исключительно своеобразно, то для быстрого зрительного распознавания рекомендуется использовать подчеркивание. */
}
a:visited {
color: #6E6C64;
text-decoration: underline;
}
a:hover, a:active, a:focus { /* Эта группа селекторов обеспечивает пользователю, работающему с клавиатурой, такие же возможности наведения, как и при использовании мыши. */
text-decoration: none;
}
/* ~~ Этот контейнер фиксированной ширины окружает остальные блоки ~~ */
.container {
width: 960px;
background: #FFFFFF;
margin: 0 auto; /* При указании автоматического значения по сторонам в совокупности с шириной макет будет центрироваться. */
}
/* ~~ Заголовку не задается ширина. Он растянется на всю ширину макета. ~~ */
header {
background: #ADB96E;
}
/* ~~ Столбцы для макета. ~~
1) Поля размещены только вверху и/или внизу блочных элементов. Элементы в этих блоках имеют боковые поля. Это избавляет пользователя от необходимости расчетов рамочной модели. Помните, что при добавлении боковых полей или границы к самому блоку их ширина будет добавлена к задаваемой ширине, что образует «полную» ширину. Кроме того, можно удалить поля элемента в блочном элементе и поместить внутри него второй блочный элемент без ширины и с необходимыми по проекту полями.
2) Поля не добавляются к столбцам, поскольку все столбцы являются обтекаемыми. Если нужно добавить поле, то не нужно помещать его с той стороны, где производится обтекание столбца (например, правое поле у блока, для которого задано обтекание справа). Часто вместо этого можно применить заполнение (padding). Для тех блоков, где это правило необходимо нарушить, добавьте в правило элемента блока объявление «display:inline», чтобы исправить ошибку с удвоением полей в некоторых версиях Internet Explorer.
3) Поскольку классы можно использовать в документе многократно (а к элементу может быть применено несколько классов), столбцам вместо идентификаторов назначаются имена классов. Например, два блока в виде боковых панелей могут при необходимости стыковаться. При желании эти имена легко заменить на идентификаторы, но при этом они должны встречаться в документе однократно.
4) Если панель навигации должна находиться слева, а не справа, то просто установите обтекание столбцов в противоположном направлении (все слева, а не справа), они выстроятся в обратном порядке. Перемещать блок в исходном коде HTML-документа не нужно.
*/
.sidebar1 {
float: left;
width: 180px;
background: #EADCAE;
padding-bottom: 10px;
}
.content {
padding: 10px 0;
width: 600px;
float: left;
}
aside {
float: left;
width: 180px;
background: #EADCAE;
padding: 10px 0;
}
/* ~~ Этот сгруппированный селектор выдает списки в пространстве .content ~~ */
.content ul, .content ol {
padding: 0 15px 15px 40px; /* Это поле представляет собой зеркальное отражение правого поля в правиле для заголовков и параграфов выше. Внизу поле помещено как граница между элементами списков, а слева — как отступ. При необходимости поля могут быть настроены. */
}
/* ~~ Стили списка навигации (можно убрать, если используется готовое меню, например Spry) ~~ */
nav ul {
list-style: none; /* Удаляет маркер списка. */
border-top: 1px solid #666; /* Создает верхнюю границу ссылок — все остальные размещаются по нижней границе в LI. */
margin-bottom: 15px; /* Создает пространство между навигацией по содержимому ниже. */
}
nav ul li {
border-bottom: 1px solid #666; /* Разделяет кнопки. */
}
nav ul a, nav ul a:visited { /* Группировка этих селекторов гарантирует, что ссылки будут выглядеть как кнопки даже после того, как пользователь перейдет по ним. */
padding: 5px 5px 5px 15px;
display: block; /* Наделяет ссылку свойствами блока, из-за чего она заполняет весь содержащий ее элемент LI. При этом вся область реагирует на щелчок мышью. */
width: 160px; /*Такая ширина позволит в IE6 нажимать всю кнопку целиком. Если поддержка IE6 не нужна, то эту строку можно удалить. Чтобы вычислить правильную ширину, вычтите ширину полей этой ссылки из ширины контейнера боковой панели. */
text-decoration: none;
background: #C6D580;
}
nav ul a:hover, nav ul a:active, nav ul a:focus { /* Изменяет цвет текста и фона при навигации с помощью клавиатуры и мыши. */
background: #ADB96E;
color: #FFF;
}
/* ~~ Нижний колонтитул ~~ */
footer {
padding: 10px 0;
background: #CCC49F;
position: relative;/* IE6 получает hasLayout для правильной очистки. */
clear: both; /* Это свойство очистки заставляет .container видеть место окончания столбцов и включать их. */
}
/* ~~ Прочие классы float/clear ~~ */
.fltrt { /* Этот класс можно использовать для обтекания элемента справа на странице. Обтекаемый элемент должен предшествовать элементу, с которым он должен находиться рядом на странице. */
float: right;
margin-left: 8px;
}
.fltlft { /* Этот класс можно использовать для обтекания элемента слева на странице. Обтекаемый элемент должен предшествовать элементу, с которым он должен находиться рядом на странице. */
float: left;
margin-right: 8px;
}
.clearfloat { /* Этот класс можно поместить в теге или в пустом блочном элементе в качестве конечного элемента, следующего за последним обтекаемым блоком (внутри .container), если .footer удален или извлечен из .container */
clear:both;
height:0;
font-size: 1px;
line-height: 0px;
}
/*Поддержка HTML 5 — создает новые теги HTML 5 display:block для корректного отображения этих тегов браузерами. */
header, section, footer, aside, nav, article, figure {
display: block;
}
Вот такая вот таблица стилей получилась для нашего первого сайта. Уважаемые начинающие программисты, если вы, чего не поняли, спросите в комментариях и я вам обязательно отвечу. Даже без регистрации можно опубликовать комментарий на сайте но с ограничениями. Вот теперь у нас есть первая страница сайта, в следующей публикации по данной теме мы подключим таблицу стилей style.css к нашей главной странице index.php. На этом чтобы не создавать публикации по 2 метра завершаю и жду вас в следующих.