Utilizarea bootstrap-ului. Se încarcă fișiere compilate. Componente bootstrap și exemple de utilizare a acestora
A doua jumătate a articolului este deja percepută mai simplu, există mai multe exemple cu capturi de ecran.
Bootstrap - ce este?Deci, să începem cu o întrebare importantă. Bootstrap este un cadru CSS și JS, în esență un set de fișiere cu cod scris gata făcut. Scopul dezvoltatorilor aproape oricărui cadru este de a simplifica dezvoltarea site-ului pentru ei înșiși și pentru alții care vor avea acces la instrument. În cazul Bootstrap, este complet gratuit, așa că îl puteți folosi în orice mod, editați sursăși refaceți cadrul după cum doriți. Este perfect.
Instalarea BootstrapDacă trebuie doar să conectați fișierele cadru la un document HTML (de exemplu, pentru practică), trebuie doar să descărcați cadrul de pe site-ul oficial getbootstrap.com, să copiați fișierele acestuia în proiect și să le conectați pe cele de care aveți nevoie. o să o fac scurtă recenzie aceste fisiere:
Acest set standard cadru. De fapt, îl poți personaliza cu ușurință și îl poți schimba după cum ți se potrivește. De exemplu, nu utilizați deloc scripturi sau conectați doar o singură rețea. În general, vom vorbi și despre asta.
Documentația rusă BootstrapCând vizitați getbootstrap, probabil ați observat că totul aici este în engleză. Am putea folosi ajutorul rusesc pentru cadru. Este ușor de găsit. Pentru a face acest lucru, mergeți de la pagina principala la secțiunea Noțiuni de bază. Derulați până în jos, va exista un link către traduceri. Căutați rusă acolo și faceți clic pe ea. Gata, acum ești pe versiunea rusă a site-ului. Adevărat, nu totul a fost tradus aici, dar undeva în jur de 70-80% este exact, așa că veți înțelege totul.
Grilă de bootstrapOrice s-ar putea spune, elementul principal al Bootstrap este plasă adaptivă. În general, fără el, cadrul și-ar pierde aproape toată valoarea, deoarece datorită grilei puteți crea rapid șabloane adaptive. În același timp, este posibil să nu fiți deloc familiarizat cu interogările media, deoarece cadrul se ocupă de implementarea adaptabilității, trebuie doar să atribuiți clasele corecte;
Care sunt aceste clase? Să trecem la documentație, ne va ajuta foarte mult. Accesați secțiunea CSS - Grid System. Reguli generale Lucrul cu o grilă este simplu, le voi enumera acum.
Cum se lucrează cu o rețea?Gândiți-vă la el ca la un tabel html. Dacă ați scris vreodată cod HTML pentru tabele, știți că tot conținutul este plasat în eticheta tabel, un rând este plasat în eticheta tr și apoi celulele sunt plasate în ea - td .
Deci, totul este similar în grilă. Clasa container servește ca un container general pentru grilă. Există 2 opțiuni pentru grila bootstrap - complet cauciuc și având încă o lățime maximă finită. Deci, atunci când blocului general i se dă clasa container, site-ul va avea o lățime maximă de 1170 pixeli. Nu se va extinde mai departe. Desigur, conținutul va fi centrat.
Dacă setați clasa container-fluid, atunci plasa va fi complet din cauciuc, adică nu vor exista restricții de dimensiune. De exemplu, dacă o persoană deschide un site web pe un monitor lat de 1920 pixeli, îl va vedea în lățime completă.
În consecință, primul lucru atunci când dezvoltați un site web este să decideți cum va fi șablonul - complet cauciucat, sau lățimea acestuia trebuie încă limitată.
Grozav, blocul container ar trebui să conțină un rând de grilă. Trebuie să plasați toate blocurile care sunt pe o singură linie în el. Adică dacă luăm cel mai mult model tipic: antet, partea principală, coloana din dreapta și subsol, apoi sunt 3 coloane. Primul va conține doar antetul, al doilea va conține conținutul și coloană laterală, iar în ultimul există un subsol. Markupul pentru un astfel de site ar fi cam așa:
Un capac
Conținut... și bară laterală
Subsol
Dar deocamdată acesta este marcajul greșit, pentru că lipsește... ce? Așa e, celule! În cazul Bootstrap, acestea sunt numite și coloane. Grila bootstrap este formată din 12 coloane. Poate fi încorporat în orice bloc de orice lățime, cel puțin 1200 pixeli, cel puțin 100. Toate acestea deoarece lățimea coloanelor este specificată nu în pixeli, ci în procente.
Cum funcționează acest sistem cu 12 coloane?Așa că ajungem la foarte problema importanta asociate cu cadrul. Crede-mă, dacă înțelegi asta, totul este o prostie. Principalul lucru este să înțelegeți cum funcționează grila și modul în care se face rapid aspect adaptiv va fi deschis pentru tine.
Pentru a face acest lucru, parcurgeți documentația de mai jos, acolo veți găsi un tabel care conține proprietăți importante grile
Apropo, coloanele în sine sunt marcate în Bootstrap cu clasa col-, dar aceasta este o clasă compusă, așa că nu scriu niciodată pur și simplu col-. Bootstrap are 4 clasa speciala, care sunt concepute pentru a controla dimensiunea blocurilor la diferite lățimi, iată-le:
Acestea sunt cele 4 clase, dar pentru a controla dimensiunea elementelor se folosesc numere de la 1 la 12, deoarece, după cum vă amintiți, în grilă sunt exact 12 coloane.
Un capac
Conţinut
Coloana laterală
Subsol
Este destul de ușor de înțeles. În primul rând, creăm un antet, nu trebuie să fie plasat deloc în grilă, deoarece va ocupa 100% din lățime (de obicei). Dar o vom pune oricum. Ce este această clasă col-md-12? După cum v-am spus deja, nimeni nu scrie pur și simplu col-, cu această clasă îi spunem în esență browserului:
Aceasta este o celulă | coloană
Pe dispozitivele medii (clasa md), lățimea sa ar trebui să fie de 12 coloane din 12, adică 100% din lățimea rândului.
Dar cum rămâne cu lățimea pe alte dispozitive? Pe ecranele mari (lg) va fi și 100%, deoarece valorile pentru ecranele mari sunt moștenite, dar pentru cele mai mici nu sunt. Este simplu: dacă ai scris col-xs-4 , atunci lățimea coloanei ar fi de 33% pe toate dispozitivele, iar dacă col-lg-4 , atunci doar pe cele mari. Aceasta este caracteristica, rețineți-o.
Ei bine, dacă valoarea lățimii nu este salvată pe ecrane mai mici, atunci ce se întâmplă? Este resetat. Iată cum se întâmplă:
col-sm-4 - pe ecranele mici blocul va ocupa 33% din latime, la fel va fi si pe ecranele md si lg, dar pe xs, adica pe cele mai mici, latimea va fi resetata la 100%. Deci, amintiți-vă încă o regulă simplă: dacă nu este specificat nimic pentru ecranele mai mici, atunci blocul va fi afișat pe ele la 100% lățime.
Conţinut
Coloana laterală
În esență, îi spunem browserului:
Lăsați blocul de conținut să aibă o lățime de 8 din 12 coloane și această situație va fi pe mici, medii și ecrane mari(este suficient să specificați pentru ecrane mici; pentru ecrane mari, după cum vă amintiți, valoarea este moștenită). Dar pe cele mai mici ecrane blocul va fi ocupat 100%. Acest lucru este corect, de obicei dispozitive mobile site-urile merg exact într-o coloană.
Lăsați coloana laterală să fie de o treime din lățimea rândului pe aceleași ecrane mici, medii și mari. Ei bine, pe cele mai mici, după cum ați înțeles deja, lățimea sa este resetată la 100%. Este atat de simplu.
Ei bine, nu există nimic de-a face cu subsolul. Bine, principii de baza Am rezolvat funcționarea rețelei, dar mai trebuie să vedem cum funcționează...
Grilă imbricată BootstrapFaptul este că acum am împărțit șablonul doar în blocuri principale, dar în interior ele pot fi împărțite și în coloane. De exemplu, conținutul poate afișa produse în mai multe coloane. Ce ar trebuii să fac? Este foarte simplu - creăm exact aceeași grilă în interior. Acesta va fi imbricat, dar conține și 12 coloane. Dacă rezumăm toate acestea, ajungem la această concluzie:
În orice bloc poate exista un număr nelimitat de grile. De exemplu, într-un bloc cu produse există o grilă pentru separarea produselor în bloc cu un singur produs, puteți crea o altă grilă, de exemplu, pentru a separa prețurile, informațiile despre disponibilitate și informații suplimentare. informație.
Acum vom încerca să facem o altă grilă în interiorul blocului de conținut pentru a aranja produsele în 3 coloane. Deci, să luăm blocul în care avem conținut:
Conţinut
Și scriem în el:
Catalog:
numele produsului
Descriere produs
După cum puteți vedea, am creat o nouă grilă în interiorul conținutului - am pus un rând în interior, iar în rând vor fi deja 3 blocuri cu produse. Doar copiați blocul col-sm-4 cu cardul de produs și lipiți-l de încă 2 ori, asta este ceea ce obțineți (puteți face orice fotografie a produsului, eu am făcut una mare):
Am ratat încă unul punct important Pentru ca imaginile să se adapteze la blocurile în care sunt amplasate, fiecăruia dintre ele trebuie să i se atribuie clasa img-responsive. Dacă, ca mine, credeți că a face acest lucru este incomod, atunci scrieți în propriul stil.css astfel:
Img( lățime maximă: 100%; înălțime: automat; afișare: bloc; )
Gata, salvați acest cod și conectați fișierul dvs. css la proiect. Acum imaginile vor fi adaptabile în mod implicit.
Ei bine, a ieșit destul de bine? Da, dar fără bootstrap ar trebui să suferi mai mult. Singurul lucru este că atunci când creați o grilă în interiorul oricărui bloc, nu mai trebuie să creați un bloc cu clasa container în el. De ce nu este necesar acest lucru? Da, pentru că blocul în care este creată grila servește drept container.
Astfel, puteți crea câte coloane doriți în orice bloc și puteți face un șablon de orice complexitate. Și toate acestea sunt mult mai rapide decât fără Bootstrap, pentru că trebuie să scrieți toate css-ul de la zero.
Utilități receptiveAceasta este o altă caracteristică excelentă a bootstrap. Constă în faptul că poți ascunde sau face vizibile orice blocuri la lățimea de care ai nevoie. De exemplu, ascundeți complet coloana laterală pe ecrane înguste, adăugați câteva elemente noi pe dispozitivele mobile, adăugați o coloană pe ecrane late etc.
Există o mulțime de opțiuni de aplicație, dar nu v-am spus despre cel mai important lucru: cum să utilizați aceste utilități? Pentru a face acest lucru, trebuie doar să adăugați clase blocul dorit. Dacă trebuie să-l ascundeți, trebuie doar să specificați următoarea clasă:
Subsol
În ce în acest caz, va face clasa ascuns-xs? Acesta va ascunde subsolul pe dispozitive foarte mici. Pe toate celelalte blocul va fi vizibil.
Dacă, dimpotrivă, trebuie să îl afișați numai pe cele mai mici ecrane, trebuie să utilizați clasa visible-xs-block. În acest caz, blocul va fi ascuns pe toate ecranele, cu excepția celor mai înguste. Deci, clasele de utilitate adaptive sunt scrise astfel:
Ei bine, câteva exemple pentru a fi clar:
Așa funcționează totul. Exact așa și nu altfel. Sper că înțelegi asta. Să o punem în practică. Avem un șablon de testare, deși unul foarte primitiv.
Sarcină: pentru a face coloana laterală să dispară pe ecranele mici și, de asemenea, un produs pe cele mai mici ecrane. Și astfel încât pe dispozitivele xs produsele sunt deja în 2 coloane, nu 3.
Încercați să o faceți singur, editând doar codul html. Ce trebuie făcut? Mai întâi, să ne uităm la coloană, pentru a o ascunde pe ecranele sm, trebuie doar să adăugați clasa hidden-sm la ea.
Grozav, acum al treilea produs trebuie să primească clasa hidden-xs și va dispărea pe cele mai mici ecrane. Ei bine, clasele celor două bunuri rămase vor fi următoarele:
Adică pe dispozitivele medii blocul va ocupa 4 coloane din 12, ceea ce se poate traduce în 33,33% din lățime, iar pe dispozitivele extra-mici - 50%. Și deoarece un bloc cu un produs va dispărea la această lățime, ambele blocuri cu produse vor fi aranjate frumos pe 1 rând, astfel:
Grozav! După ce ați înțeles acest lucru, puteți deja manipula blocurile de pe pagina web în aproape orice mod doriți. Încercați să vii cu sarcini pentru tine și să le implementezi.
În continuare voi arăta încă 1 foarte bun venit— capacitatea de a muta blocul la dreapta sau la stânga. Să presupunem că nu avem 3 produse la rând, ci 1. Și nu ocupă întreaga lățime. Și sarcina ta este să-l aliniezi în centru. Acest lucru este ușor de făcut dacă rețineți că lucrați cu un sistem cu 12 coloane.
Să lăsăm un bloc cu produsul:
Este suficient să faci calcule simple pentru a înțelege cât de mult trebuie să muți blocul pentru a-l centra. Trebuie mutat 4 coloane spre stânga pe ecranele medii și mari și 3 coloane pe cele mici. Cam asa arata:
Clasa col-md-offset-4 spune: pe ecranele medii și mari, mutați blocul spre stânga cu 33% din lățime container părinte(1/3 liniuță stânga, 1/3 lățime bloc, ⅓ liniuță dreapta, rezultând centrare).
Clasa col-xs-offset-6: pe ecranele foarte mici și mici, deplasați la stânga cu 25% (¼ umplutură la stânga, ½ bloc lățime, ¼ umplutură la dreapta).
Sper că înțelegeți esențialul și folosiți aceste clase dacă este necesar.
Componente Bootstrapși exemple de utilizare a acestoraTe felicit. Tocmai am acoperit cel mai important subiect legat de cadru. Este importantă grila și lucrul cu ea. Lucrul cu componente înseamnă deja că accesați documentația și copiați codul acolo componentă necesarăși, dacă este necesar, schimbați-l în funcție de dvs. Dar voi da în continuare mai jos câteva exemple de utilizare a componentelor.
Flotările rapide și anularea înfășurăriiClasele pull-left și pull-right vă permit să faceți rapid orice bloc să plutească trimițându-l la stânga sau la dreapta. Nu uitați de anularea fluxului. Puteți utiliza clasa clearfix pentru aceasta.
Bootstrap: Meniu receptiv orizontal (mobil).Vom adăuga următoarele componente direct în șablon, așa că dacă doriți să lucrați cu codul și nu doar să citiți, urmați toți pașii după mine.
De fapt, cu Bootstrap este foarte ușor să nu faci doar meniu receptiv, și așa-numitul cel mobil, care este complet minimizat pe ecranele mici și se ascunde sub un singur buton. Această tehnică poate fi văzută în multe șabloane adaptiveși de fapt este foarte ușor de implementat. Exemplu de cod meniul mobil este în documentație, o voi lua de acolo și o voi reface puțin.
Așadar, primul lucru pe care îl voi face este să elimin blocul cu antetul, pentru că meniul nostru, de fapt, va fi antetul în cazul șablonului meu. Codul de meniu trebuie plasat înaintea întregului conținut al site-ului, chiar înaintea blocului containerului. De ce? Da, veți vedea acum singur că grila este deja încorporată în bara de navigare. Deci, iată codul:
Buton de comutare
Logo/nume
Căutare
Nu vă alarmați de faptul că există mult cod. Așa arată site-ul acum:
Dar dacă meniul dvs. nu ocupă întreaga lățime a ecranului, este logic să îl centrați. Pentru a face acest lucru, ar trebui să creați un bloc suplimentar de înveliș pentru meniu, care ar trebui să fie plasat după blocul cu clasa container-fluid. Nu uitați să închideți acest bloc. I-am dat clasa navbar-wrap. Iată stilurile pentru el:
Adică, puteți pur și simplu să limitați lățimea și să o centrați. Sau înlocuiți inițial recipientul-fluid cu recipient .
După cum puteți vedea, am adăugat un logo în meniu, două element simplu, element derulant, formular de căutare. Adică au fost multe elemente. Puteți personaliza cu ușurință meniul pentru dvs., adăugând propriile clase la acesta. Dar deocamdată scopul meu este pur și simplu să vă arăt această componentă.
Iată cum va arăta meniul pe dispozitivele cu lățimea ecranului mai mică de 768 de pixeli:
După cum puteți vedea, meniul s-a prăbușit. Se deschide când faceți clic pe butonul din dreapta colțul de sus. Pe ecran a rămas doar sigla.
În același timp, din exemplul de mai sus puteți înțelege cum este creat un element de meniu derulant în Bootstrap, să extragem acest cod pentru mai multe considerație detaliată:
Echipament de antrenament
Deci, containerul pentru un articol drop-down este un element obișnuit din listă cu clasa drop-down. În interiorul acestuia se află linkul principal, făcând clic pe care se deschide un meniu derulant. Este foarte important să îi atribuiți un atribut de date, pe care îl vedeți în cod, fără el, nimic nu va funcționa. De asemenea, ar trebui să vă asigurați că fișierul bootstrap.js este conectat la paginile web.
Un interval cu clasa caret nu este altceva decât o săgeată, datorită căreia puteți înțelege că elementul este un element derulant, iar sub meniul în sine este format folosind standardul listă cu puncte. Asta e, totul este destul de simplu, poți folosi acest cod pentru a implementa elementele derulante.
Adăugarea de pesmet (pesmet) folosind BootstrapÎn multe magazine puteți găsi așa-numitul bloc firimituri de pâine, care conține calea completă către pagina curenta. Acest lucru este, de asemenea, ușor de făcut folosind cadrul, consultați codul:
De fapt, este suficient să specificați clasa breadcrumb pentru o listă numerotată și să introduceți elementele obișnuite ale listei în ea. Apropo, voi centra titlurile de al doilea nivel în șablon (acesta trebuie să fie scris în css):
H2( text-align: center; )
Daca vrei sa schimbi ceva aspect pesmet, trebuie doar să utilizați selectorul .breadcrumb în CSS. De exemplu, în acest fel puteți elimina culoare de fundal:
Pesmet( fundal: transparent; )
Așa arată site-ul acum:
În mod implicit, tabelul se va întinde pe întreaga fereastră, așa că înfășurați-l într-o cutie cu o lățime limitată pentru a limita dimensiunile. În mod implicit, arată groaznic, dar dacă adăugați clasa tabelului la eticheta tabelului, totul va fi mult mai frumos:
.
Am întâlnit deja primul nivel. Al doilea nivel de imbricare îndeplinește funcția de container, dar în raport cu blocurile de informații ( similar cu eticheta |