Выполнение задания 1

ПРАКТИЧЕСКАЯ РАБОТА № 3

Верстка сайта с применением фреймворка Bootstrap

Цель: Изучить основные возможности технологии bootstrap для создания адаптивных web-сайтов.

Инструментарий:

1) Любой редактор программного кода, например, notepad++

2) Любой современный браузер

 

ЗАДАНИЯ

Переверстать сайт, выполненный вручную в первых двух практических работах с применением фреймворка bootstrap

Переверстать собственный web-сайт с применением того же подхода.

ВЫПОЛНЕНИЕ ЗАДАНИЯ 1.

Шаг 1. Для использования возможностей bootstrap можно 1). Скачать фреймворк с официального сайта и хранить его вместе с проектом локально. В этом случае вы можете вести разработку в режиме off-line. 2) Подключить фреймворк on-line. Мы воспользуемся первым способом.

По ссылке https://getbootstrap.com/docs/4.4/getting-started/download/ скачаем архив фреймвока (на момент написания пособия была доступна версия 4.4.1).

Создать новую папку под именем, например, travel, и распаковать в нее скачанный архив.

В той же папке создать файл index.html, в который скопировать базовый документ Starter template, размещенный на странице get started.

Открыть этот файл в используемом Вами редакторе кода и подключить bootstrap локально:

<head> <!-- Required meta tags --> <meta charset="utf-8"> <meta name="viewport" content="initial-scale=1, shrink-to-fit=no"> <!-- Bootstrap CSS --> <link rel="stylesheet" href=" bootstrap-4.4.1-dist/css/bootstrap.min.css" > <title>Hello, world!</title> </head> <!--Здесь меняем удаленное подключение на локальное-->

 

После просмотра полученного документа в браузере должно получиться следующее:

Нам придется также переопределять некоторые стандартные стили bootstrap, поэтому создадим еще один собственный файл стилей style.css в папке css, которая создалась при распаковке bootstrap и подключим его в файле index.html:

<!-- Bootstrap CSS --> <link rel="stylesheet" href=" bootstrap-4.4.1-dist/css/bootstrap.min.css" > ….<!—Собственные стили--!> <link rel="stylesheet" href=" bootstrap-4.4.1-dist/css/style.css" > … <!--Здесь добавляем ссылку на собственные стили-->

 

Если теперь в этом файле переопределить основное начертание шрифта, например, так:

body{

font-family:Verdana;

}

вы должны увидеть соответствующее изменение надписи Hello world!

Шаг 2. Мы будем придерживаться стиля сайта, который был создан в первых двух работах, поэтому первой областью должна стать область заголовка. Используем для него сетку bootstrap, которая позволяет использовать уже готовые стили для строк и столбцов.

Предварительно подготовьте в папке проекта папку img c картинками из предыдущего варианта сайта

ВМЕСТО блока, который выводит Hello Word! поместим следующий код:

<body class="body-top"> <header class="container">   <div class="row">     <div class="col-3">         <img id="logo" src="img/logo.jpg">     </div>     <div class="col-9">          <h1>Путешествуйте с нами!</h1>      </div>      </div> </header> … <!—Используем стиль body-top по умолчанию для всего документа--> <!--Создаем блок для области заголовка--> <!--Создаем новую горизонтальную область (строку) --> <!--Внутри горизонтальной области определяем первую колонку шириной 3/12--> <!--Внутри выводим логотип--> <!--Завершаем первый столбец--> <!--Внутри горизонтальной области определяем вторую колонку, шириной 9/12--> <!--Внутри выводим название--> <!--Завершаем второй столбец--> <!--Завершаем строку--> <!--Завершаем описание области заголовка-->

В СВОЕМ файле style.css переопределим стили:

.body-top { width:80%; border: none; margin: auto; font-family:Verdana; font-style: normal; font-size: normal; font-weight:bold; text-align:center;                           } header { padding: 1em; color: white; background-color: #007196; vertical-align:center; } #logo { max-width:180px; max-height:140px; } .col-9 { display: flex; } h1{ margin:auto; }          @media screen and (max-width: 768px) { #logo { max-width:100px; max-height:70px; } h1{ font-size:14px; } } /*Оформление содержимого всей страницы по умолчанию, скопировано с предыдущей версии сайта*/ /*Оформление содержимого всего блока заголовка */ /*Размер логотипа для средних и больших экранов */ /* «Плавающее» в зависимости от изменения экрана название */ /*Заголовок в плавающем окне по центру*/ /*МЕДИА-ЗАПРОС позволяет сделать размер логотипа и названия меньшими при изменении размера окна до размера мобильного устройства*/

Результат будет таким:

Обязательно попробуйте уменьшить размер экрана и убедитесь в том, что область заголовка адаптивна, то есть медиа-запрос работает.

 

Шаг 3. Создадим меню навигации. Это один из готовых блоков bootstrap, код которого нужно скопировать на сайте, вставить в нужное место страницы и отредактировать стили по умолчанию.

Скопируем на странице https://getbootstrap.com/docs/4.4/components/navs/ один из вариантов горизонтального меню, например, Working with flex utilities, и вставим этот код в обертку класса “menu” после области header.

Далее необходимо убрать (или добавить) аналогичные гиперссылки для других пунктов меню и отредактировать их с учетом Ваших страниц и их URL.

<div id="menu"> <nav class="nav nav-pills flex-column flex-sm-row">    <a class="flex-sm-fill text-sm-center nav-link" href="index.html">Главная</a>    <a class="flex-sm-fill text-sm-center nav-link" href="tours.html">Наши туры</a>    <a class="flex-sm-fill text-sm-center nav-link" href="contacts.html">О нас</a> </nav> </div> <!--Обертка для меню--> <!--Начало flex-меню--> <!--Ссылка на главную страницу--> <!--Ссылка на страницу с информацией о турах--> <!--Ссылка на страницу с контактами-->

 

Далее переопределим некоторые стили этого меню так, чтобы они больше походили на меню из предыдущего проекта:

#menu{ background-color:#66CDAA; } a { color:white; border:solid white; box-shadow: 20px 0 20px -20px #000 inset, -20px 0 20px -20px #000 inset;} /*Фон всего меню*/ /*Цвет и рамка каждого пункта меню*/  

 

Получим:

 

Но главное, что без нашего вмешательства, за счет применения стилей и технологий bootstrap это меню полностью адаптивно. При уменьшении экрана получим:

 

Шаг 4. Пользуясь сеткой, сверстаем контент главной страницы, который должен состоять из трех колонок, каждая из которых содержит картинку и ссылку на подробное описание. Каждая колонка занимает треть ширины экрана, а, значит, 12/3=4 col. Этот класс колонок и будем применять в строке (row), которая содержит основной контент страницы.

 

<main class="flex"> <div class="row"> <div class="col">     Наши акции </div> </div> <div class="row"> <div class="col">     <div class="country">        <img src="img/turkey.jpg">        <p>           <a class="actia" href="#" >                 Подробнее об акции</a>           </p>     </div>    </div> <div class="col">        <div class="country">           <img src="img/egipt.jpg">           <p>              <a class="actia" href="#" >                  Подробнее об акции</a>           </p>        </div>     </div>     <div class="col">        <div class="country">           <img src="img/thai.jpg" >           <p>              <a class="actia" href="#" >                 Подробнее об акции</a>           </p>        </div>     </div> </div> </main> <!—Начало всего блока с содержимым  --> <!—Начало первой строки в этом блоке  --> <!—Начало единственной колонки в первой строке  --> <!—Начало второй строки в этом блоке  --> <!—Начало первой колонки во второй строке (т.к. они одинаковой ширины, можно указывать просто класс “col”)  --> <!—Создаем еще один блок, который объединит картинку и ссылку в этой колонке--> <!—Выводим картинку--> <!—С новой строки выводим ссылкуà <!—Закрываем блок с картинкой и ссылкой--> <!—Закрываем колонкуà <!—Аналогично описываем еще две колонки в пределах второй строки à

 

Незначительные переопределения стилей:

.country{        border: solid #007196; } .country img {        width:250px;        height:170px;        padding:5px; } .country a{        background-color:#66CDAA;        box-shadow: 20px 0 20px -20px #000 inset, -20px 0 20px -20px #000 inset;        color:white; } /* Для класса country, который объединяет картинку и ссылку:*/ /* цвет фона*/ /* Для картинок, но только входящих в блок класса country*/ /* Для ссылок, но только входящих в блок класса country*/

 

Получим следующий результат для полного экрана:

 

 

И для экрана мобильного устройства:

 

 

Шаг 5. Осталось только добавить footer, чтобы страница получила законченный вид.

 

<footer class="footer" > <div class="row">     <div class="col">         Это сайт, предназначенный для обучения     </div> </div> </footer> /*Страница занимает 100% экрана по высоте*/

 

И стили, которые учитывают, что footer должен быть «привязан» к нижней части экрана:

html { height: 100%; } body {          min-height:100%;          position:relative;          padding-bottom: 70px;          } .footer {          position: absolute;          left: 0;          right: 0;          bottom: 0;          height: 50px;          color:white;          background-color: #007196;          } /*Страница занимает 100% экрана по высоте*/ /*Тело документа имеет относительное позиционирование, но отступ для тела документа снизу больше или равен высоты футера*/ /*Футер документа имеет абсолютное позиционирование, высоту 50px*/

Результат:

 

Очевидно, что теперь, для создания других страниц этого сайта, можно использовать страницу index.html в качестве шаблона, в котором нужно изменять только содержимое блока main.

Для создания остальных страниц сайта рекомендуем использовать готовые компоненты bootstrap: формы, карточки, списки, кнопки и т.п., которые можно получить на странице https://getbootstrap.com/docs/4.4/components/

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: