Создаем одностраничник на Bootstrap 4 (код шаблона)

Здравствуйте, давайте с “нуля” создадим отзывчивый одностраничник на Bootstrap 4 с: паралакс эффектом в шапке сайта, с всплывающими подсказками, таблицами, плитками и контактной формой для отправки сообщений.

Как будет выглядеть наш одностраничник на Bootstrap 4:

Скачать полный его код можно здесь: Готовый код проекта по созданию одностраничника!

Для работы по созданию одностраничника Вам понадобится бесплатный редактор кода (например Notepad++, который можно скачать здесь: “notepad-plus-plus.org”).

Также для одностаничника Вам понадобится выбрать хостинг вот здесь –
– здесь Вы найдете лучшие из них.

Первое, что нужно сделать – это скачать Bootstrap по следующей ссылке: “github.com/twbs/bootstrap/”
Для данного проекта будем использовать версию bootstrap v4.0.0-alpha, скачать её можно по следующей ссылке: “github.com/twbs/bootstrap/archive/v4.0.0-alpha.zip”

Структура папок для одностраничника будет состоять из трех папок и одного файла HTML:
– файл index.html;
– папка IMG для изображений;
– папка CSS для таблиц стилей;
– папка JS для JavaScript скриптов.

Поэтому создаём папку проекта с приведенными выше тремя пустыми папками и файлом index.html (создаем его с помощью Notepad++, при сохранении выбирая тип html):

Распаковываем скаченный bootstrap. Здесь Вы найдете множество файлов и папок, но для нашего сайта понадобятся только некоторые из них.

Заходим в папку dist, далее в подпапку css, копируем здесь файл bootstrap.min.css и вставляем его в папку создаваемого нами одностраничника, в его подпапку css.
После опять заходим в папку dist, далее в подпапку js, копируем bootstrap.min.js и вставляем его в папку создаваемлго нами одностраничника, в его подпапку js.

Также в папку создаваемого нами одностраничника, в папку js, нужно закачать файл tether.min.js, который можно скачать:

с моего сайта – скачать tether.min.js

или здесь: “github.com/HubSpot/tether” жмем на зеленую кнопку “Clone or Download”

скачиваем zip проект, распаковываем, заходим в папку dist, подпапку js и находим в ней файл tether.min.js.

tether.min.js – это JavaSrcipt библиотека подсказок.

Папку img заполняем картинками, которые можно скачать – здесь.

Создадим ещё один файл custom.css в папке css нашего одностраничника, в нём будут храниться наши пользовательские CSS стили – для этого воспользуемся Notepad++, при сохранении файла выбираем тип css:

Теперь наполняем файлы кодом!

Так файл index.html будет иметь следующей код:

<!-- DOCTYPE -->
<!DOCTYPE html>
<html lang="ru">
<head>
<title>Boostrap 4 - Tutorial</title>
<!-- Required meta tags always come first -->
<meta charset="utf-8">
<meta name="author" content="Mnogoblog">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<!-- Bootstrap CSS -->
<link rel="stylesheet" href="css/bootstrap.min.css">
<link rel="stylesheet" href="css/custom.css">
<!-- Fonts -->
<link href='https://fonts.googleapis.com/css?family=Lato:400,700,900,300' rel='stylesheet' type='text/css'>
<link href='http://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800,800italic' rel='stylesheet' type='text/css'>
<link href='https://fonts.googleapis.com/css?family=Raleway:400,300,600,700,900' rel='stylesheet' type='text/css'>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css">
</head>
<body>

<!---CONTENT HERE-->
<!--wrapper start-->
<div class="wrapper" id="wrapper">
	
	<!--header-->
	<header>
	<div class="jumbotron jumbotron-fluid" id="banner">		
		<div class="parallax text-center" style="background-image: url(img/cover.jpg);">
			<div class="parallax-pattern-overlay">
				<div class="container text-center" id="size-banner">
					<a href="#"><img id="site-title" src="img/logo.png" alt="logo"/></a>
					<h2 class="display-2">Boostrap 4</h2>
					<h3 class="learn">Как создать одностраничник?</h3>
				</div>
			</div>
		</div>
	</div>	



	</header>
		
	<!--about us-->
	<section class="aboutus" id="aboutus">
	<div class="container">
		<div class="row">
			<div class="col-lg-12">
		<div class="heading text-center">
			<img class="dividerline" src="img/sep.png" alt="">
			<h2>About Boostrap 4</h2>

			<img class="dividerline" src="img/sep.png" alt="">
			<h3><mark>Bootstrap</mark> - это свободный набор инструментов для создания сайтов и веб-приложений. Включает в себя HTML- и CSS-шаблоны оформления для типографики, веб-форм, кнопок, меток, блоков навигации и прочих компонентов веб-интерфейса, включая JavaScript-расширения. Bootstrap использует <mark>современные наработки</mark> в области CSS и HTML, поэтому необходимо быть внимательным при поддержке старых браузеров. </h3>
			</div>	
			</div>		
		</div>			
		<div class="row">
			<div class="col-md-3">
			<div class="card text-center">
			  <img class="card-img-top" src="img/card1.jpg" alt="Card image cap">
			  <div class="card-block">
			    <h4 class="card-title">Это карта #1</h4>
			    <p class="card-text">Простой пример карты с названием (титулом) и простым содержимым (контентом). </p>
			    <a href="http://v4-alpha.getbootstrap.com/components/card/" class="btn btn-primary">Подробнее...</a>
		  	</div>
			</div>
		</div>

		<div class="col-md-3">
			<div class="card card-inverse card-primary text-center">
			  <img class="card-img-top" src="img/card2.jpg" alt="Card image cap">
			  <div class="card-block">
			    <h4 class="card-title">Это карта #2</h4>
			    <p class="card-text">Простой пример карты с названием (титулом) и простым содержимым (контентом).</p>
			    <a href="http://v4-alpha.getbootstrap.com/components/card/" class="btn btn-primary">Подробнее...</a>
		  	</div>
			</div>
		</div>


		<div class="col-md-3">
			<div class="card card-inverse card-success text-center">
			  <img class="card-img-top" src="img/card3.jpg" alt="Card image cap">
			  <div class="card-block">
			    <h4 class="card-title">Это карта #3</h4>
			    <p class="card-text">Простой пример карты с названием (титулом) и простым содержимым (контентом).</p>
			    <a href="http://v4-alpha.getbootstrap.com/components/card/" class="btn btn-primary">Подробнее...</a>
		  	</div>
			</div>
		</div>

		<div class="col-md-3">
			<div class="card card-inverse card-info text-center">
			  <img class="card-img-top" src="img/card4.jpg" alt="Card image cap">
			  <div class="card-block">
			    <h4 class="card-title">Это карта #4</h4>
			    <p class="card-text">Простой пример карты с названием (титулом) и простым содержимым (контентом).</p>
			    <a href="http://v4-alpha.getbootstrap.com/components/card/" class="btn btn-primary">Подробнее...</a>
		  	</div>
			</div>
		</div>

		</div>
	</div>
	</section>
	

	<section class="features" id="features">
	<div class="container">
		<div class="row">
				<div class="col-lg-12">
		<div class="heading text-center">
			<img class="dividerline" src="img/sep.png" alt="">
			<h2>Расширенные возможности</h2>
			<img class="dividerline" src="img/sep.png" alt="">
		    <h3><a href="#" data-toggle="tooltip" title="This is a tooltip">Bootstrap 4 </a> имеет класс <a href="#" data-toggle="tooltip" title="Make all backgrounds black!">–inverse</a>, который задает фон самой таблице. Также благодаря подключению библиотеки <a href="#" data-toggle="tooltip" title="Tether is a JavaScript library for efficiently making an absolutely positioned element stay next to another element on the page. For example, you might want a tooltip or dialog to open, and remain, next to the relevant item on the page.">Tether</a> улучшена работа с подсказками. </h3>
		</div>
		</div>
		</div>


		<div class="row">
			<div class="col-md-6">
				<table class="table table-inverse">
					<thead>
					<tr><th colspan="3" class="text-center">Bootstrap 3</th> </tr>
						<tr>
							<th>Size</th>
							<th>Device</th>
							<th>Class</th>
						</tr>
					</thead>
					<tbody>
						<tr>
							<td>Extra Small</td>
							<td>Less than 768px</td>
							<td>col-xs</td>
						</tr>

						<tr>
							<td>Small</td>
							<td>768px and up</td>
							<td>col-sm</td>
						</tr>

						<tr>
							<td>Medium</td>
							<td>992px and up</td>
							<td>col-md</td>
						</tr>

						<tr>
							<td>Large</td>
							<td>1200px and up</td>
							<td>col-lg</td>
						</tr>


					</tbody>
					</table>
			</div>

			<div class="col-md-6">
				<table class="table table-inverse">
					<thead>
					<tr><th colspan="3" class="text-center">Bootstrap 4</th> </tr>
						<tr>
							<th>Size</th>
							<th>Device</th>
							<th>Class</th>
						</tr>
					</thead>
					<tbody>
						<tr>
							<td>Extra Small</td>
							<td>Less than 34em</td>
							<td>col-xs</td>
						</tr>

						<tr>
							<td>Small</td>
							<td>34em and up</td>
							<td>col-sm</td>
						</tr>

						<tr>
							<td>Medium</td>
							<td>48em and up</td>
							<td>col-md</td>
						</tr>

						<tr>
							<td>Large</td>
							<td>62em and up</td>
							<td>col-lg</td>
						</tr>

						<tr>
							<td>Extra Large</td>
							<td>75em and up</td>
							<td>col-xl</td>
						</tr>

					</tbody>
					</table>
			</div>


	</div>
	</div>
	</section>
	

	<!--Contact Us-->
	<section class="contact" id="contact">
	<div class="container">
		<div class="row">
			<div class="col-lg-12">
		<div class="heading">
				<img class="dividerline" src="img/sep.png" alt="">
				<h2>Связаться с нами</h2>
				<img class="dividerline" src="img/sep.png" alt="">
				<h3>Задайте нам любой вопрос, мы объязательно на него ответим!
				</h3>
			</div>
		</div>
		</div>
	</div>
	 <div class="container mx-width">
      <div class="row">
		<div class="done">
			<div class="alert alert-success">
				<button type="button" class="close" data-dismiss="alert">×</button>
				Сообщение было успешно отправлено. Спасибо!
			</div>
		</div>

       <div class="col-md-12">
            <form>
                <fieldset class="form-group">
                    <input type="text" class="form-control" id="Name" placeholder="ФИО">
                </fieldset>

                <fieldset class="form-group">
                    <input type="email" class="form-control" id="Email" placeholder="Email">
                </fieldset>

                <fieldset class="form-group">
                    <textarea class="form-control" rows="3" placeholder="Текст сообщения"></textarea>
                </fieldset>
                
                <button type="submit" class="contact submit">Отправить</button>
            </form>
        </div>


      </div>
    </div>
	</section>
  
	<!--footer-->
	<section class="footer" id="footer">
	
	<div class="container">
		<div class="row">
			<div class="col-lg-12">
		<ul>	
			<li><a href="#"><i class="fa fa-facebook"></i></a></li>
			<li><a href="#"><i class="fa fa-twitter"></i></a></li>
			<li><a href="#"><i class="fa fa-linkedin"></i></a></li>
			<li><a href="#"><i class="fa fa-pinterest"></i></a></li>

		</ul>
		<p>
			Mnogoblog.ru<br>
		</p>
	</div>
		</div>
			</div>
	</section>
	
</div><!--wrapper end-->


<!-- JavaScripts -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>


<script src="js/bootstrap.min.js"></script>
<script src="js/tether.min.js"></script>

<script type="text/javascript">
$(function () {
  $('[data-toggle="tooltip"]').tooltip()
})	

</script>

</body>
</html>

Файл custom.css (который находится в папке css) будет иметь следующий код:

/*
Tutorial Name: Bootstrap 4 Tutorial
Author: 
*/


/* GENERAL STYLES
-------------------------------------------------*/
body {
    font-family:'Lato', sans-serif;
    font-size:1em;
    color:#777;
    font-weight:300;
    line-height:1.7;
    overflow-x:hidden;
}

h1,h2,h3,h4,h5,h6 {
    color:#333;
    line-height:1.4;
    font-weight:700;
}

.mx-width {
    max-width:960px;
    margin:0 auto;
}

a,a:hover {
    color:#563d7c;
    text-decoration:none;
}

img{
  width:100%;
  max-width: 100%;
  height:auto;
}

.card-img-top{
  width:100%;
  height:auto;
}

header {
    padding-bottom:50px;
}

.display-2 {
    font-family:'Lato';
    font-size:60px;
    line-height:1;
    font-weight:300;
    color:#fff
}

.learn {
    font-family:'Lato';
    font-size:27px;
    line-height:1.4;
    font-weight:300;
    color:#fff;
}

.jumbotron-fluid {
    padding:0;
}


/* PARALLAX
-------------------------------------------------*/
.parallax {
    text-align:center;
    background-position:center center;
    background-repeat:no-repeat;
    background-size:cover;
    background-attachment:fixed!important;
    overflow:hidden;
}

.parallax-pattern-overlay {
    background-image:url(../img/pattern.png);
    background-repeat:repeat;
}

#size-banner{
    height:580px;
    padding-top:170px;
}


/* HEADING
-------------------------------------------------*/
.heading {
    padding-bottom:15px;
    text-align:center;
    max-width:960px;
    margin:0 auto;
    padding-top:80px;
}

.heading h2 {
    font-weight:600;
    font-family:'Raleway';
    font-size:40px;
    color:#333;
    margin:0;
    padding:5px;
}


.heading h3 {
    font-size:1em;
    line-height:1.7;
}

#site-title {
    max-width:150px;
}


/* CONTACT
-------------------------------------------------*/
input.form-control {
    background:#fff;
    border:solid 1px #ddd;
    color:#000;
    padding:15px 30px;
    margin-right:3%;
    margin-bottom:30px;
    outline:none;
    border-radius: 0;
}



textarea.form-control {
    background:#fff;
    color:#000;
    border:solid 1px #ddd;
    padding:15px 30px;
    margin-bottom:40px;
    outline:none;
    height:200px;
    border-radius: 0;
}

button.contact.submit {
    background:#333;
    font-family:'Lato',sans-serif;
    color:#fff;
    font-size:1em;
    font-weight:400;
    text-align:center;
    margin:0;
    border:none!important;
    border-radius:3px;
    padding:15px 45px;
}

button.contact.submit:hover {
    background:#563d7c;
}

.form-control:focus{
    border-color: #563d7c;
    outline: 0;
}


.done {
    display:none;
}


/* FOOTER
-------------------------------------------------*/
.footer {
    background:#563d7c;
    margin-top:120px;
    position:relative
}

.footer .container {
    padding:60px 0 20px;
}

.footer ul {
    margin:0 auto;
    margin-bottom:30px;
    margin-top:10px;
    text-align:center;
    list-style-type:none;
    padding-left:0;
}

.footer ul li {
	text-align:center;
    display:inline-block;
    background:rgba(0,0,0,0.2);
    color:#fff;
    line-height:45px;
    margin:0 4px;
    width:45px!important;
    height:45px!important;
    -webkit-border-radius:3px;
    border-radius:3px;
}

.footer ul li:hover {
    background:#2a2a2a;
}

.footer ul li:hover	a {
    color:#fff;
}

.footer ul li a {
    color:#fff;
    width:42px!important;
    height:42px!important;
}

.footer ul li a i {
    line-height:45px;
    color:#fff;
}

.footer p {
    color:#fff;
    font-size:.9em;
    line-height:24px;
    font-weight:300;
    text-align:center;
    text-transform:uppercase;
}

.footer a,.footer a:hover {
    color:#fff;
}


/* MEDIA QUERIES
-------------------------------------------------*/

@media screen and (max-width:768px) {

input.contact.col-md-6{
    width:40.5%;
    margin: 15px 15px 0 58px;
}

textarea.contact.col-md-12 {
     margin: 15px 15px 0 58px;
}

button#submit.contact.submit{
    margin: 15px 15px 0 42px;
}

}

На этом всё! Красивых Вам сайтов!