Создаем свой первый сайт на html, серия публикаций по созданию сайта с чистого листа

Доброго времени суток уважаемые читатели блога phpguru Айдара Андрея. Сегодня я хочу начать цикл публикаций создай свой первый сайт сам, с чистого листа. Как известно все начинающие программисты, в том числе и я 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="Место для логотипа" id="Insert_logo" style="background: #C6D580; display:block;" height="90" width="180"></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 { /* Этот класс можно поместить в теге <br> или в пустом блочном элементе в качестве конечного элемента, следующего за последним обтекаемым блоком (внутри .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 метра завершаю и жду вас в следующих.

С уважением Андрей
Добавлено: 28 Августа 2013 12:23:15 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...