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.