Локальный веб-сервер | htmlbook.ru
Современный сайт представляет собой не просто набор HTML-документов, но и включает в себя множество технологий, в том числе серверных, таких как: SSI (Server-Side Includes, включения на стороне сервера), PHP (PHP: Hypertext Preprocessor, PHP: препроцессор гипертекста), базы данных и многое другое. Для ознакомления и изучения этих технологий ошибкой будет использовать посещаемый рабочий сайт в Интернете, поэтому имеет смысл установить необходимый комплект программ на локальный компьютер и тестировать все на нем.
Наиболее популярной связкой таких программ является веб-сервер Apache, язык программирования PHP, система управления базами данных MySQL, оболочка для администрирования баз данных PhpMyAdmin, шаблонизатор Smarty.
Указанные программы работают преимущественно под управлением Linux подобных систем, но имеются и версии под Windows. Основной плюс этой связки программ в универсальности. Сайт, созданный и проверенный на локальном компьютере под Windows, легко может быть перенесен на сервер с FreeBSD. К тому же этот набор поддерживает подавляющее большинство хостеров.
В дальнейшем будут рассмотрены программы для домашнего компьютера с операционной системой Windows.
Кратко опишем, что представляют собой технологии, которые будут использоваться для создания сайта.
Веб-сервер
Веб-сервером называется программа, которая анализирует приходящие запросы и формирует готовые документы отправляемые пользователю. В качестве веб-сервера часто выступает Apache, как наиболее устоявшийся и популярный в Интернете. По разным оценкам его доля составляет почти 50% от общего числа используемых веб-серверов.
http://www.apache.org
PHP
Популярный язык программирования, используемый при разработке сайта.
http://www.php.net
MySQL
Система управления базами данных.
http://www.mysql.com
PhpMyAdmin
Веб-интерфейс для создания и управления базами данных MySQL. Позволяет просматривать таблицы, изменять их содержание, модифицировать структуру, делать выборку данных, сортировать информацию. Все действия осуществляются прямо в браузере, в специально разработанном под него дружественном интерфейсе.
http://www.phpmyadmin.net
Smarty
Мощная система шаблонов для PHP. Использует свой собственный язык, который сочетает HTML и специальные теги Smarty. Шаблоны нужны для разделения программного кода и представления документа или по-другому, для отделения логики от содержания.
http://www.smarty.net
Все указанные программы и технологии являются открытыми, могут быть бесплатно загружены и свободно использоваться.
Можно установить необходимые программы, скачав их с сайта производителя и настроив под свои нужды. Однако это подчас требует знакомство с программой и владение необходимой квалификацией, которой у начинающих нет. Поскольку речь идет не о полноценном рабочем сервере, а о компьютере для тестирования и отладки, то имеет смысл использовать готовые комплекты. Такой комплект содержит в себе все необходимые для веб-разработчика программы, легко настраивается и управляется. Далее пойдет речь о некоторых популярных комплектах веб-разработчика.
Макет страницы в Grid Layout ⚡️ HTML и CSS с примерами кода
Рассмотрим создание простейшего адаптивного стандартного макета веб-страницы, который состоит из шапки, подвала, основного содержимого, блока навигации и сайдбара. Для этого определим следующую веб-страницу:
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width" /> <title>Grid Layout в CSS3</title> <style> * { box-sizing: border-box; } html, body { margin: 0; padding: 0; } .grid-container { height: 100vh; display: grid; grid-template-areas: 'header' '.' 'menu' '.' 'content' '.' 'sidebar' '.' 'footer'; grid-template-columns: 1fr; grid-template-rows: 80px 5px 80px 5px 1fr 5px 80px 5px 80px; } .header { grid-area: header; background-color: #bbb; } .menu { grid-area: menu; background-color: #ccc; } .sidebar { grid-area: sidebar; background-color: #ccc; } .content { grid-area: content; background-color: #eee; } .footer { grid-area: footer; background-color: #bbb; } h4 { text-align: center; } @media screen and (min-width: 468px) { .grid-container { height: 100vh; display: grid; grid-template-areas: 'header header header header header' '. . . . .' 'menu . content . sidebar' '. . . . .' 'footer footer footer footer footer'; grid-template-columns: 130px 5px 1fr 5px 130px; grid-template-rows: 90px 5px 1fr 5px 90px; } } </style> </head> <body> <div> <div><h4>Header</h4></div> <div><h4>Content</h4></div> <div><h4>Menu</h4></div> <div><h4>Sidebar</h4></div> <div><h4>Footer</h4></div> </div> </body> </html>
В прошлой теме уже рассматривалось применение именованных областей.
Однако, так как предполагается, что веб-страницу могут просматривать на мобильных устройствах, где ширина экрана ограничена, то хотелось бы иметь адаптивный макет. Поэтому в стиля имеются два разных определения грида. Одно определение грида для мобильных устройств (условно в качестве ширины устройств выбрано значение в 468px
):
.grid-container { height: 100vh; display: grid; grid-template-areas: 'header' '.' 'menu' '.' 'content' '.' 'sidebar' '.' 'footer'; grid-template-columns: 1fr; grid-template-rows: 80px 5px 80px 5px 1fr 5px 80px 5px 80px; }
В таком состоянии грид имеет только один столбец и 5 строк для каждой области плюс 4 строки-разделители.
При увеличении ширины экрана в действие вступает другое определение грида:
.grid-container { height: 100vh; display: grid; grid-template-areas: 'header header header header header' '. . . . .' 'menu . content . sidebar' '. . . . .' 'footer footer footer footer footer'; grid-template-columns: 130px 5px 1fr 5px 130px; grid-template-rows: 90px 5px 1fr 5px 90px; }
В этом случае столбцов и строк будет по пять:
Макет страницы | HTML Собака
В давние времена человекообразные обезьяны использовали HTML-таблицы для компоновки веб-страниц. Весело, правда?! Но вскоре появился CSS, этот монолит из 2001: A Space Odyssey, который все изменил.
Макет с помощью CSS очень прост. Вы просто берете кусок своей страницы и вставляете его туда, куда хотите. Вы можете поместить эти фрагменты абсолютно или относительно в другой фрагмент.
Позиционирование
позиция 9Свойство 0016 используется для определения того, является ли поле абсолютным, относительным, статическим или фиксированным:
-
static
является значением по умолчанию и отображает блок в обычном порядке, как они появляются в HTML. -
относительный
очень похож настатический
, но прямоугольник может быть смещен от его исходного положения со свойствамиверхнее
,правое
,нижнее
илевое
. -
absolute
вытаскивает коробку из обычного потока HTML и доставляет ее в собственный мир. В этом сумасшедшем маленьком мире абсолютное поле можно разместить в любом месте страницы с помощьюсверху
,
,снизу
ислева
. -
фиксированный
ведет себя какабсолютный
, но он будет абсолютно позиционировать блок по отношению к окну браузера, а не к веб-странице, поэтому фиксированные блоки должны оставаться точно там, где они находятся на экране, даже когда страница прокручивается.
Когда мы говорим об абсолютно позиционированных полях, размещенных в любом месте страницы, на самом деле они все еще расположены относительно краев страницы. И чтобы добавить еще один возврат, страница на самом деле не обязательно должна быть контейнером — блок будет «абсолютно» позиционирован по отношению к любому нестатическому позиционированному содержащему блоку. Просто пока не обращайте на это внимания…
Макет с использованием абсолютного позиционирования
Вы можете создать традиционный двухколоночный макет с абсолютным позиционированием, если у вас есть что-то вроде следующего HTML:
<дел> <ул>