GirlsGoIT Wiki (ro)
RU
  • Introducere
  • Unelte
    • Slack
    • Visual Studio Code
    • CodeSandbox
      • Cum rezolvi un task la proiect
      • Cum rezolvi un exercițiu
    • GitHub
  • FRONTEND STATIC
    • Internet
    • HTML
    • CSS
    • Exerciții
      • Erontend Static Exercitii
  • FRONTEND DINAMIC
    • JavaScript
      • Introducere
      • Consola Browser'ului
      • Variabile
      • Tipuri de date
      • Operatori
      • JavaScript & HTML
      • Funcții
      • DOM & Window API
      • Math API
      • Condiționale (if)
      • Cicluri (for & while)
    • Vue.js
      • Componente Vue
      • Componente & Forme
      • Lifecycle hooks
      • Comunicare între componente
      • Vue Router
      • Axios
      • Instalare locală
    • Exercitii
    • Rest API
      • Rest api GET
      • Rest api GET one
      • Rest api POST
      • Rest api PUT
      • Rest api DELETE
  • PYTHON
    • Introducere
    • Variabile
    • Tipuri de Date
    • Operatori
    • Control Flow
    • Liste
    • Cicluri for
    • Funcții
    • Dictionare
    • Seturi
    • Fișiere
    • Try-except-finally. Lambda
    • Librării, module
    • Exercitii
      • Variabile
      • TIpuri de Date
      • Operatori
      • If...else
      • Liste
      • Cicluri for
      • Funcții
      • Dicționare
      • Seturi
      • Fișiere
      • Try-except, Lambda
      • Librării , module
      • ✨Mai multe exerciții ✨
    • Python Archiva
  • BACKEND
    • Instalare Python
    • Python OOP
    • Baze de date
    • Django
    • REST API's
    • Django REST Framework
    • Exerciții
      • Python OOP
      • Django
      • Django Rest Framework
  • Data Science
    • Introducere în Data Science
    • Vizualizarea datelor
      • Matplotlib
    • Numpy
    • Pandas
    • DecisionTrees
  • 3D Printing
    • Intro
    • Fusion 360 Intro
    • Sketch
    • Solid body
    • Arduino
    • Final Projects
  • ARHIVA
    • Milligram
    • Drone
      • Intro
    • Old Backend
      • Bootstrap
      • Hello Flask
      • DB Modeling
      • Ubuntu Quest
      • Baze de date
      • Heroku Deploy
    • Robotica NAO
      • Finalizarea proiectelor
      • Flow Control
      • Cum creez un Dialog box
      • Convenția GirlsGoIT Robotics Choregraphe
      • Tracker
      • Dialog - QiChat
    • Robotica
      • 1.1 mBlock
      • 1.2 Descărcarea, instalarea și conectarea
      • 1.3 Execută un program de pe mBlock IDE sau încarcă pe Board
      • 1.4 Conectarea prin USB, Bluetooth sau 2.4GHz
      • 2.1 Programe Simple
      • 2.2 Senzori
      • 2.3 Exerciții avansate - Scratch
      • 3.0.1 Instalare Arduino IDE
      • 3.0.2 Instalare Arduino IDE WEB
      • 3.1 Configurare Arduino IDE
      • 3.2 Introducere în limbajul C
      • 3.3 Exemple Arduino - mBot
      • 3.4 Line follow - Arduino
      • 3.5 Ultimate robot
      • 4.1 Planificarea și managementul proiectelor
      • Custom robot
      • Noțiuni și explicații
      • Delay fara sa opreasca programul
      • Alte resurse și exemple
Powered by GitBook
On this page
  • Starting point
  • Navbar
  • Slider
  • Responsive Layout
  • Fin
  1. ARHIVA
  2. Old Backend

Bootstrap

PreviousOld BackendNextHello Flask

Last updated 7 years ago

sau Twitter Bootstrap Framework este un conglomerat de intstrumente și șabloane stilizate ce au ca scop ușurarea și facilitarea dezvoltării aplicațiilor web.

Inițial, a fost un proiect intern în cadrul Twitter Inc., ca ulterior să devină Open-Source și accesibil pentru toți. După ce sursele au fost deschise și publicate pe GitHub, proiectului i s-au alăturat un număr foarte mare de voluntari ce au contribuit și au dezvoltat proiectul până la ziua de azi.

Începând cu versiunea 3.0, Bootstrap a adoptat un standard mobile-first, ce permite crearea interfețelor responsive. Interfețele responsive își au ca scop furnizarea aplicațiilor web pe diferite platforme cum ar fi telefoanele mobile, tabletele, laptop-uri și alte dispozitive.

Starting point

Pentru început, zic să inițiem un fișier în care vom experimenta bootstrap-ul. Eu sper că deja te-ai obișnuit cu terminalul și cu editorul de text. Dacă încă nu te simți confortabil utilizând terminalul sau alte instrumente și ai careva neclarități - întreabă! La această etapă comunicarea este foarte importantă, iar eu și colegii mei suntem gata să-ți oferim suport suplimentar. :wink:

În editorul tău preferat (încă nu te-ai îndrăgostit de sublime text?), inserează următorul text. El va fi scheletul experimentelor noastre.

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Bootstraping...</title>
</head>
<body>

</body>
</html>

Adaugă o salutare în body, inserează acest text:

<h1>Feel the power of Bootstrap.</h1>
<h2>Now YOU rule the world of web!</h2>

Vezi rezultatul în navigatorul web preferat:

Implicit, navigatorul tău stilizează elementele HTML fundamentale. Hai să-i dăm o aromă de bootstrap!

Stai! Nu trebuie să downloadezi nimic! Vom încărca stilurile bootstrap de pe CDN-ul oficial. Ah, nu ți-am povestit ce-i aia CDN. CDN este Content Delivery Network, sau Content Distribution Network. Sună complicat? În practică nu e, cel puțin din perspectivă de utilizator. CDN este un sistem distribuit care servește fișiere statice. Pe lângă simplitatea de utilizare, CDN-urile mai au și alte avantaje, ele însă nu sunt în scopul acestui tutorial.

Adăugăm legătura spre stilurile bootstrap, undeva în interiorul tag-ului head:

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">

Adăugăm și librăria JavaScript pentru bootstrap. Nu ne trebuie la moment, dar vom avea nevoie în viitor de ea. Așa cum Bootstrap se bazează pe jQuery, includem ambele surse din CDN.

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>

Surprinzător! Ceva s-a schimbat. Poți observa că textul a căpătat automat altă nuanță de culoare, altă dimensiune și alt font.

Te întrebi probabil de ce s-a întâmplat asta. bootstrap.css a făcut-o. Ca prim scop, acele stil-uri au resetat toate stilurile predefinite de navigatorul tău și și-a impus standardele asupra elementelor de bază. Totuși, Bootstrap nu-și impune stilizarea asupra butoanelor, tabelelor, input-urilor (căsuțe de introducere a textului) și altele. Stilizarea se face explicit, specificând clasele necesare pentru elementele alese. Știm că explicit e mai bine decât implicit pentru că ni se oferă mai mult control.

Acum că avem un schelet funcțional, haideți să încercăm să stilizăm elemente obișnuite cu ajutorul la bootstrap.

Navbar

Navbar-ul este componentul cel mai des întâlnit pe paginile web. De obicei navbar-ul este amplasat împreună cu logo-ul, deci urmează un exemplu cum prezentăm un logo și un navbar pe pagina noastră utilizînd clasele Bootstrap.

<nav class="navbar navbar-inverse navbar-fixed-top" role="navigation">
  <div class="container">
    <div class="navbar-header">
      <a class="navbar-brand" href="index.html">Your Logo Text Goes Here</a>
    </div>
    <div class="collapse navbar-collapse">
      <ul class="nav navbar-nav navbar-right">
        <li>
          <a href="#">First Menu Item</a>
        </li>
        <li>
          <a href="#">Second Menu Item</a>
        </li>
        <li>
          <a href="#">Third Menu Item</a>
        </li>
      </ul>
    </div>
  </div>
</nav>

Rezultatul e un Navbar simpatic care l-am obținut în mai puțin de un minut. Isn't that fantastic?

Slider

Nimic nu face mai sexy un site de cât niște imagini mari și frumoase într-un slider. Utilizînd codul ce urmează vă veți convinge că lucrurile stau foarte simplu.

<header id="myCarousel" class="carousel slide" data-ride="carousel">
  <div class="carousel-inner">
    <div class="item active">
      <img src="http://unsplash.it/1900/800/?image=151" alt="Slide">
      <div class="carousel-caption">
        <h2>Quibusdam illum, suscipit labore. Voluptas minima, magni.</h2>
      </div>
    </div>
    <div class="item">
      <img src="http://unsplash.it/1900/800/?image=152" alt="Slide">
      <div class="carousel-caption">
        <h2>Soluta distinctio suscipit ab sapiente quo molestias.</h2>
      </div>
    </div>
    <div class="item">
      <img src="http://unsplash.it/1900/800/?image=153" alt="Slide">
      <div class="carousel-caption">
        <h2>Facere praesentium quo asperiores. Omnis, itaque, quo.</h2>
      </div>
    </div>
  </div>
  <a class="left carousel-control" href="#myCarousel" data-slide="prev">
    <span class="icon-prev"></span>
  </a>
  <a class="right carousel-control" href="#myCarousel" data-slide="next">
    <span class="icon-next"></span>
  </a>
</header>

Să vedem rezultatul:

Responsive Layout

Pentru a defini o listă de știri pe pagină avem nevoie de câteva coloane. Paginile web au moștenit această tehnică de la ziare. Implicit Bootstrap folosește sistemul de 12 coloane. O reprezentare grafică vedeți mai jos.

Următorul pas ar fi calcularea dimensiunilor coloanelor. Le calculăm folosind formula 12/x, unde x este numărul de coloane care dorim să-l obținem. De exemplu dacă dorim să afișăm conținutul în 3 coloane împărțim 12/3 și obținem dimensiunea coloanelor egală cu 4. Folosind rezultatele obținute și markup-ul de mai jos afișăm noutățile.

<div class="container">
  <div class="row">
    <div class="col-md-4">
      <div class="panel panel-default">
        <img src="http://unsplash.it/800/600?image=101" class="img-thumbnail" alt="">
        <div class="panel-body">
          <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Itaque, optio corporis quae nulla aspernatur in alias at numquam rerum ea excepturi expedita tenetur assumenda voluptatibus eveniet incidunt dicta nostrum quod?</p>
          <a href="#" class="btn btn-success">Mai mult <i class="glyphicon glyphicon-menu-right"></i></a>
        </div>
      </div>
    </div>
    <div class="col-md-4">
      <div class="panel panel-default">
        <img src="http://unsplash.it/800/600?image=102" class="img-thumbnail" alt="">
        <div class="panel-body">
          <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Itaque, optio corporis quae nulla aspernatur in alias at numquam rerum ea excepturi expedita tenetur assumenda voluptatibus eveniet incidunt dicta nostrum quod?</p>
          <a href="#" class="btn btn-success">Mai mult <i class="glyphicon glyphicon-menu-right"></i></a>
        </div>
      </div>
    </div>
    <div class="col-md-4">
      <div class="panel panel-default">
        <img src="http://unsplash.it/800/600?image=103" class="img-thumbnail" alt="">
        <div class="panel-body">
          <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Itaque, optio corporis quae nulla aspernatur in alias at numquam rerum ea excepturi expedita tenetur assumenda voluptatibus eveniet incidunt dicta nostrum quod?</p>
          <a href="#" class="btn btn-success">Mai mult <i class="glyphicon glyphicon-menu-right"></i></a>
        </div>
      </div>
    </div>
  </div>
</div>

Fin

Cam atât de pe meleagurile componentelor Twitter bootstrap. Ca o provocare, zic să experimentezi cu elementele, stilurile, iconițele și alte detalii bootstrap. Îți pun la dispoziție documentația:

Bootstrap
Getting Started
CSS
Components