Sajt koji ćemo napraviti: VIDI LIVE. Skini sajt besplatno i koristi bez obaveze DOWNLOAD.
Napravimo novi file “index.html” i pohranimo u njega Bootstrap Starter Template. Ubacimo u <style> </style> u header.
<!doctype html>
<html lang="sr">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<!-- Bootstrap CSS -->
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">
<title>Firma!</title>
</head>
<body>
<!-- Optional JavaScript -->
<!-- jQuery first, then Popper.js, then Bootstrap JS -->
<script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js" integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6" crossorigin="anonymous"></script>
</body>
</html>
Sekcija: Menu
U body element prvo dodajemo navigaciju. Za navigaciju ćemo koristiti tamni BT4 menu navbar navbar-expand-lg navbar-dark. Pošto želimo da prilagodimo nijansu crne za naš meni dodaćemo mu novu klasu bg-gray, a potom u CSS-u definisati .bg-gray{…}. Pomoću CSS-a ćemo dodatno stilizovati linkove u meniju koristeći pravilo nav .nav-link{…} .
.bg-gray {
background-color: #1a1a1b;
border-color: #202020;
}
nav .nav-link {
font-size: 20px;
font-weight: 400;
letter-spacing: 1px;
color: rgb(200, 213, 224) !important;
}
HTML koji smo dodali u <body> sekciju je:
<nav class="navbar navbar-expand-lg navbar-dark bg-gray">
<div class="container">
<a class="navbar-brand" href="/">FIRMA</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNavAltMarkup"
aria-controls="navbarNavAltMarkup" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse " id="navbarNavAltMarkup">
<div class=" navbar-nav">
<a class="p-2 nav-item nav-link " href="#usluge">Usluge</a>
<a class="p-2 nav-link" href="#portfolio">Studiji slučaja</a>
<a class="p-2 nav-link" href="#iskustva">Iskustva</a>
<a class="p-2 nav-link" href="#kontakt">Kontakt</a>
</div>
</div>
</div>
</nav>
Klasa p-2 definiše prostor između linkova u meniju. <button> je dugmić koji se pojavljuje na malim ekranima(mobilni menu), a njegovo otvaranje kontroliše klasa “navbar-toggler” i data-toggle atribut “collapse“.
Ukoliko prikažemo sav naš dosadašlnju kod, on će izgledati ovako:
<!doctype html>
<html lang="sr">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<!-- Bootstrap CSS -->
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">
<title>Firma!</title>
</head>
<style>
.bg-gray {
background-color: #1a1a1b;
border-color: #202020;
}
nav .nav-link {
font-size: 20px;
font-weight: 400;
letter-spacing: 1px;
color: rgb(200, 213, 224) !important;
}
</style>
<body>
<nav class="navbar navbar-expand-lg navbar-dark bg-gray">
<div class="container">
<a class="navbar-brand" href="/">FIRMA</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNavAltMarkup"
aria-controls="navbarNavAltMarkup" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse " id="navbarNavAltMarkup">
<div class=" navbar-nav">
<a class="p-2 nav-item nav-link " href="#usluge">Usluge</a>
<a class="p-2 nav-link" href="#portfolio">Studiji slučaja</a>
<a class="p-2 nav-link" href="#iskustva">Iskustva</a>
<a class="p-2 nav-link" href="#kontakt">Kontakt</a>
</div>
</div>
</div>
</nav>
<!-- Optional JavaScript -->
<!-- jQuery first, then Popper.js, then Bootstrap JS -->
<script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js" integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6" crossorigin="anonymous"></script>
</body>
</html>
U daljem tutorijalu pisaćemo samo značajne izmjene na našem kodu. Kompletan kod možete vidjeti ukoliko stranicu otvorite sa “view-source” opcijom na vašem browseru.
Definisanje sekcija i opštih CSS pravila
Sve dijelove dokumenta stavljaćemo u elemente <section> kako bi pojednostavili formatiranje sadržaja (razmake). Za footer ćemo koristiti html element footer umjesto section.
body {
background-color: rgb(234, 236, 241);
}
p,h2,h5 {
color: rgb(44, 44, 49) !important;
}
h2 {
color: rgb(70, 68, 88);
margin-top: 50px;
margin-bottom: 50px;
}
section {
padding-top: 100px;
padding-bottom: 100px;
}
footer {
padding-top: 100px;
padding-bottom: 30px;
}
Sekcija: Jumbotron
Sekcija Jumbotron ima dva CTA dugmića: Portfolio i Zakaži sastanak. Klasa jumbotron je izborna Bootstrap klasa koja nosi pravila za razmake, boju i raspored. Kako bi promijenili pozadinu jubotrona koristićemo gore kreiranu klasu bg-gray.
<div class="jumbotron text-center bg-gray">
<div class="container ">
<div class="row justify-content-center">
<h1 class="text-white display-2 mb-4">MOJA FIRMA</h1>
</div>
<div class="row justify-content-center">
<div class="col-12 col-md-8">
<p class="text-white"> Lorem, ipsum dolor sit amet consectetur adipisicing elit. Praesentium ipsum
corporis porro nam cumque perferendis officia dignissimos!
</p>
</div>
</div>
<div class="row justify-content-center">
<p>
<a href="#portfolio" class="btn btn-light my-3 mx-2 px-4">Portfolio</a>
<a href="#kontakt" class="btn btn-danger my-3 mx-2 px-4">Zakaži sastanak</a>
</p>
</div>
</div>
</div>
.jumbotron {
padding-top: 150px;
padding-bottom: 150px;
border-radius: 0;
background-image: linear-gradient(#0a46ad, #114fbb);
background-image: linear-gradient(#1a1a1b, #1a1a1b);
}
.jumbotron p {
font-size: 1.5em;
font-weight: 300;
}
Sekcija: Usluge
U sekciji usluge koristili smo Bootstrap Card elemente. Svaka sekcija započinje sa redom (.row) u kojem se nalazi naslov sekcije. Sekcija je jedinstveno identifikovana sa id selektorom (id=”usluge”).
<section id="usluge" class="container">
<div class="row text-center">
<div class="col-12">
<h2>Usluge</h2>
</div>
</div>
<div class="row">
<div class="col-12 col-md-6 col-lg-3 text-center pb-3">
<div class="card">
<img src="https://mozak.org/img-bt-sites/firma-service1.png" class="card-img-top" alt="Zavarivanje">
<div class="card-body">
<h5 class="card-title">Usluga 1</h5>
<p class="card-text">Accusantium ut, quisquam corrupti hic rerum odit a eos explicabo nemo.
</p>
<a href="#" class="btn btn-primary bg-gray">Pročitaj više</a>
</div>
</div>
</div>
</div>
</section>
Sekcija: Studiji slučaja
Kako bi napravili strukturu ove sekcije koristili smo se Bootstrap kolonama. Izabrali smo omjer 7:5. U kolonu širine 7 smo stavili opis studija slučaja, dok smo u kolonu širine 5 stavili sliku veličine 500x500px. Svaki studij slučaja vizuelno smo odvajali od okonih elementom <hr class=”mb-5″>.
<section id="portfolio" class="container">
<div class="row">
<div class="col-md-7">
<div class="natpis pt-md-5 ">
<h2>Projekat koji smo sproveli</h2>
<p>Opis projekta!</p>
</div>
</div>
<div class="col-md-5">
<img src="....firma-portfolio-1.png">
</div>
</div>
....
</section>
Sekcija: Iskustva
U ovoj sekciji koristili smo Bootstrap Carousel, kako bi prikazali citate klijenata.
<section id="iskustva" class="container">
<div class="row text-center">
<div class="col-12">
<h2>Rekli su o nama</h2>
</div>
</div>
<div id="carouselExampleCaptions" class="carousel slide" data-ride="carousel">
<ol class="carousel-indicators">
<li data-target="#carouselExampleCaptions" data-slide-to="0" class="active"></li>
<li data-target="#carouselExampleCaptions" data-slide-to="1"></li>
</ol>
<div class="carousel-inner">
<div class="carousel-item active text-center">
<div class="carousel-caption d-none d-md-block ">
<h5>Ivan Simić</h5>
<p>Nulla vitae elit libero, a pharetra augue mollis interdum.</p>
</div>
</div>
<div class="carousel-item">
<div class="carousel-caption d-none d-md-block">
<h5>Albert Johnatan</h5>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
</div>
</div>
</div>
<a class="carousel-control-prev" href="#carouselExampleCaptions" role="button" data-slide="prev">
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
<span class="sr-only">Previous</span>
</a>
<a class="carousel-control-next" href="#carouselExampleCaptions" role="button" data-slide="next">
<span class="carousel-control-next-icon" aria-hidden="true"></span>
<span class="sr-only">Next</span>
</a>
</div>
</section>
Na vrlo jednostavan način promijenili smo boju ručica (lijevo-prev, desno-next) za upravaljenje carousel elementom.
.carousel-control-next-icon,
.carousel-control-prev-icon {
filter: invert(1);
}
Sekcija: Kontakt
Bootstrap posjeduje predefinisane izglede za html forme kao i klase koje pomažu prilikom upravljanja sa njima (BT forme). Klasa form-row omogućava vam da forme raspoređujemo pomoću standardnih bootstrap kolona.
Ovo je bio primjer toka izrade web stranice korištenjem Bootstrap framework-a. Detaljan opis svih bootstrap elemenata pronađite u bootstrap dokumentaciji.
Hvala vam što čitate.
