Načrtovanje in razvoj spletnih aplikacij

Izdelava strani Dokumentacija - Vsebina

Spletno stran Vsebina sestavimo s pomočjo dokumentacijske predloge. Iz pripravljene strukture ustvarimo datoteko vsebina.html, ki jo shranimo v mapo dokument. Nato vanjo postopno dodamo stranski meni, vsebinske razdelke, slike, primere kode in tabelo, ki pojasnjujejo osnovne vsebinske elemente v Bootstrapu.

Predloga navigacije, naslova in noge spletne strani

V datoteki vsebina.html najprej pripravimo osnovno strukturo dokumenta: glavo, navigacijo, glavni naslov strani in nogo. Posodobimo naslov strani, glavni naslov in uvodni opis, da ustrezajo temi Vsebina.

Primer izdelave spletišča Postavitev strani Vsebina predloga navigacije, naslova in noge

Osnovna predloga uporablja Bootstrap 5, enotno navigacijo in glavo z razredom page-hero:

<!DOCTYPE html>
<html lang="sl">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <meta name="description" content="Dokumentacija Bootstrapa: vsebina.">
  <meta name="keywords" content="Bootstrap, tipografija, slike, koda, tabele, dokumentacija">
  <meta name="author" content="eNSA">
  <title>eNSA | Spletišče: Vsebina</title>
  <link rel="icon" href="../slike/favicon.ico" type="image/x-icon">
  <link rel="preconnect" href="https://fonts.googleapis.com">
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
  <link href="https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap" rel="stylesheet">
  <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet">
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
  <link rel="stylesheet" href="../css/slog.css">
</head>
<body>
  <nav class="navbar navbar-expand-lg navbar-light site-navbar sticky-top">...</nav>

  <header class="page-hero">
    <div class="container">
      <h1>Vsebina</h1>
      <p class="lead mb-0">Pregled tipografije, slik, kode in tabel z vidika uporabe v Bootstrapu.</p>
    </div>
  </header>

  <footer>...</footer>
  <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>
Predogled: vsebina1.html

Postavitev dokumentacije in stranski meni

Pod glavo strani dodamo dokumentacijsko postavitev z levim stranskim menijem in desnim vsebinskim delom. Uporabimo razrede doc-layout, doc-sidebar in doc-content.

Primer izdelave spletišča Postavitev strani Vsebina stranski meni in postavitev

Stranski meni vsebuje povezave na posamezna poglavja iste strani:

<section class="py-5">
  <div class="container">
    <div class="doc-layout">
      <aside class="doc-sidebar">
        <h2 class="h5 mb-3">Vsebina strani</h2>
        <a href="#tipografija">Tipografija</a>
        <a href="#naslovi">Naslovi</a>
        <a href="#html5">Besedilne oznake HTML5</a>
        <a href="#koda">Koda</a>
        <a href="#slike">Slike</a>
        <a href="#tabele">Tabele</a>
      </aside>

      <div class="doc-content">
        ...
      </div>
    </div>
  </div>
</section>

Primer slogov za takšno postavitev:

.doc-layout{
   display:grid;
   grid-template-columns:280px 1fr;
   gap:2rem;
}

.doc-sidebar a{
   display:block;
   padding:.35rem 0;
}

@media (max-width: 991px){
   .doc-layout{
      grid-template-columns:1fr;
   }
}
Predogled: vsebina2.html

Vsebina: Tipografija

V vsebinski del najprej dodamo razdelek Tipografija, ki pojasni osnovni vizualni red besedila v Bootstrapu: naslove, odstavke, sezname, poudarke in razmike med elementi.

Primer izdelave spletišča Postavitev strani Vsebina vsebina: Tipografija
<section id="tipografija" class="mb-5">
  <h2>Tipografija</h2>
  <p>Bootstrap poskrbi za osnovni vizualni red tipografije: naslove, odstavke, sezname, poudarke in berljiv razmik med elementi.</p>
  <p>S tem dobi stran urejeno osnovo, ki jo lahko pozneje prilagodiš lastni grafični podobi.</p>
</section>
Predogled: vsebina3.html

Vsebina: Naslovi

Razdelek Naslovi razloži uporabo elementov h1 do h6 ter prikaže, kako Bootstrap poskrbi za njihovo velikost, razmik in berljivost.

Primer izdelave spletišča Postavitev strani Vsebina vsebina: Naslovi
<section id="naslovi" class="mb-5">
  <h2>Naslovi</h2>
  <p>Naslovni elementi <code>h1</code> do <code>h6</code> ostanejo semantični, Bootstrap pa jim doda privzeto velikost, razmik in razmerje med vrsticami.</p>
  <p>Za dodatno prilagoditev lahko uporabiš utility razrede za velikost, težo pisave in razmike.</p>
  <div class="doc-figure mt-3">
    <img src="../slike/dokumentacija/naslovi.png" alt="Naslovi">
  </div>
</section>
Predogled: vsebina4.html

Vsebina: Besedilne oznake HTML5

V tem razdelku poudarimo pomen semantičnih elementov, kot so main, section, article, nav in footer. Bootstrap teh oznak ne nadomesti, ampak jih dopolni z razredi za videz in postavitev.

Primer izdelave spletišča Postavitev strani Vsebina vsebina: Besedilne oznake HTML5
<section id="html5" class="mb-5">
  <h2>Besedilne oznake HTML5</h2>
  <p>Pomembno je, da uporabljaš semantične elemente, kot so <code>main</code>, <code>section</code>, <code>article</code>, <code>nav</code> in <code>footer</code>.</p>
  <p>Bootstrap jih ne nadomesti, temveč jih lepo dopolni z razredi za videz in postavitev.</p>
</section>
Predogled: vsebina5.html

Vsebina: Koda

Razdelek Koda pojasni uporabo elementov code ter pre skupaj z code za prikaz krajših in daljših odlomkov kode v dokumentaciji.

Primer izdelave spletišča Postavitev strani Vsebina vsebina: Koda
<section id="koda" class="mb-5">
  <h2>Koda</h2>
  <p>Za poudarjanje kratkih delov kode je primeren element <code>code</code>, za večje bloke pa <code>pre</code> in <code>code</code> skupaj.</p>
  <p>To je uporabno v učnih gradivih, dokumentaciji in primerih uporabe razredov.</p>
  <pre><code>&lt;button class="btn btn-primary"&gt;Pošlji&lt;/button&gt;</code></pre>
</section>
Predogled: vsebina6.html

Vsebina: Slike

V razdelku Slike pojasnimo uporabo razreda img-fluid, ki omogoča odzivno prilagajanje slike širini nadrejenega elementa. Dodaten videz dosežemo z zaobljenimi robovi, sencami ali okvirji.

Primer izdelave spletišča Postavitev strani Vsebina vsebina: Slike
<section id="slike" class="mb-5">
  <h2>Slike</h2>
  <p>Razred <code>img-fluid</code> poskrbi, da se slika prilagaja širini nadrejenega elementa in ne preseže razpoložljivega prostora.</p>
  <p>Dodaten videz dosežeš z zaobljenimi robovi, sencami ali okvirji.</p>
  <div class="row g-3 mt-2">
    <div class="col-md-6">
      <div class="doc-figure"><img src="../slike/dokumentacija/img1.png" alt="Primer slike 1"></div>
    </div>
    <div class="col-md-6">
      <div class="doc-figure"><img src="../slike/dokumentacija/img2.png" alt="Primer slike 2"></div>
    </div>
  </div>
</section>
Predogled: vsebina7.html

Vsebina: Tabele

V zadnjem razdelku pojasnimo uporabo tabel in razredov table, table-striped, table-hover ter odzivnega ovoja table-responsive.

Primer izdelave spletišča Postavitev strani Vsebina vsebina: Tabele
<section id="tabele" class="mb-5">
  <h2>Tabele</h2>
  <p>Tabele lahko hitro narediš preglednejše z razredi za obrobe, črtaste vrstice in odzivni ovoj.</p>
  <p>Posebej pri manjših zaslonih je koristno, da jih oviješ v element z razredom <code>table-responsive</code>.</p>
  <div class="table-responsive">
    <table class="table table-striped table-bordered align-middle">
      <thead>
        <tr>
          <th>Razred</th>
          <th>Namen</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td><code>table</code></td>
          <td>Osnovni videz tabele</td>
        </tr>
        <tr>
          <td><code>table-striped</code></td>
          <td>Izmenično obarvane vrstice</td>
        </tr>
        <tr>
          <td><code>table-hover</code></td>
          <td>Poudarek vrstice ob prehodu</td>
        </tr>
      </tbody>
    </table>
  </div>
</section>
Predogled: vsebina8.html