File adaptive pe css3. Cum să faci file adaptive (file) folosind css fără a folosi scripturi. Stiluri CSS pentru file folosind css3 punct cu punct

21.06.2020 Programe


Despre un cod

Fila Nav

File de navigare pentru două formulare.

Reactiv: nu

Dependențe: bootstrap.css

Despre un cod

Fila CSS

Browsere compatibile: Chrome, Firefox, Opera, Safari

Reactiv: da

Dependente: -

Despre un cod

Filele

Selectorul + selectează următorul element adiacent. Din punct de vedere istoric, acest lucru a fost grozav pentru etichetele de stil. Cu grila CSS, un element poate fi lângă altul în marcaj, dar undeva complet diferit în afișare. Acest stilou folosește o intrare simplă: selector bifat combinat cu o mulțime de + "-uri pentru a stila diferite pagini ale unui microsite imaginar.

Browsere compatibile: Chrome, Edge, Firefox, Opera, Safari

Reactiv: da

Dependente: -

Despre un cod

File CSS pure

Versiunea radio a filelor. Cerințe: să nu se bazeze pe ID-uri specifice pentru CSS (CSS-ul nu ar trebui să cunoască ID-uri specifice), flexibil pentru orice număr de file necunoscute, accesibile. Avertismente: deoarece acestea sunt casete de selectare, filele nu pot fi afișate în tab-uri, trebuie să utilizeze tastele săgeți .

Browsere compatibile: Chrome, Edge, Firefox, Opera, Safari

Reactiv: da

Dependente: -

Despre un cod

File CSS

File verticale CSS pur.

Browsere compatibile: Chrome, Edge, Firefox, Opera, Safari

Reactiv: nu

Dependente: -

Despre un cod

File CSS pure cu indicator

Browsere compatibile: Chrome, Edge, Firefox, Opera, Safari

Reactiv: da

Dependente: -

Despre un cod

File de tranziție animate

File de tranziție animate cu casete de selectare.

Browsere compatibile: Chrome, Edge, Firefox, Opera, Safari

Reactiv: da

Dependente: -

Despre un cod

File de culoare CSS pur

Fără etichete file de culoare CSS pur.

Browsere compatibile: Chrome, Edge, Firefox, Opera, Safari

Reactiv: da

Dependente: -

Despre un cod

Numai file CSS

Material Design numai file CSS.

Browsere compatibile: Chrome, Edge, Firefox, Opera, Safari

Reactiv: da

Dependente: -

Despre un cod

File CSS3

File CSS3 responsive pur de la Sorax.

Browsere compatibile: Chrome, Edge, Firefox, Opera, Safari

Reactiv: da

Dependente: -

Despre un cod

Controale filelor folosind HTML și CSS

A face clic pe etichete este, de fapt, același lucru cu a face clic pe casetele de introducere. Intrările radio sunt ascunse cu CSS. Când este selectat un radio, apar vecinii curioși ai conținutului filei. Asta este! Singurul dezavantaj este că nu vei putea stila fila selectată fără a apela la niște JS, dar asta nu ar trebui să fie o problemă foarte mare.

Browsere compatibile: Chrome, Edge, Firefox, Opera, Safari

Reactiv: da

Dependente: -

Despre un cod

File CSS pure

Doar HTML și CSS.

Browsere compatibile: Chrome, Edge, Firefox, Opera, Safari

În continuarea postării anterioare despre elementele de selecție a stilului, aș dori să vă spun cum să o faceți complet file adaptive fără a utiliza javascript, poziționare absolută și hack-uri de legături.

Pentru început, aș dori să spun că nu fac apel la abandonarea javascript-ului doar în favoarea CSS; mai jos va fi prezentată doar una dintre modalitățile de implementare a file-urilor. Există multe situații în care această abordare nu ți se potrivește și în care nu te poți descurca fără JS, dar acum nu este vorba despre asta.

Să înțelegem ce vrem să vedem ca rezultat al lucrării și ce cerințe am propus pentru aceasta:

  1. Lucrați fără JavaScript,
  2. Nu există nicio legătură cu numărul de file (putem folosi un widget pe pagini diferite cu conținut diferit în interior),
  3. Adaptabilitate,
  4. Compatibilitate maximă între browsere și platforme,
  5. Cea mai convenabilă și mai înțeleasă interfață de utilizare,
  6. Nu există restricții privind conținutul intern al filelor, fie că este vorba de text, conținut media sau aspect din interiorul filei.

Vizual ar trebui să arate cam așa:

Înainte de a-ți arăta opțiunea file fără JS, aș dori să vorbesc despre câteva opțiuni de implementare pe care le-am găsit în procesul de rezolvare a acestei probleme.

Opțiunea unu

Persoana care a venit cu această metodă fie a vrut în mod clar să-și bată joc de utilizatori, fie este unul dintre vizitatorii Reddit care a creat acele controale de volum foarte „conveniente”. Această abordare mă face nervos.

Esența metodei este următoarea:

Legăturile sunt folosite ca titluri (butoanele în sine) ale filelor, în atributul href, care conține id-ul filei corespunzătoare - un div sau orice alt element. Fila activă este selectată folosind pseudo-class:target .

Funcționează așa:

După cum probabil ați observat, avem câteva probleme la utilizarea acestei metode:

  1. Când facem clic pe filă, pagina începe să sară, deoarece browserul ne trimite unde duce acest link. Desigur, acest lucru poate fi evitat, dar fără JS nu există nicio cale.
  2. Titlul filei active nu este evidențiat; acest lucru se poate face, dar este extrem de problematic.
  3. Inițial, nu există file active (din moment ce încă nu am făcut clic pe linkuri) și trebuie să recurgem la un hack și să activăm a treia filă; selectarea primei în acest fel nu va funcționa.
  4. Adaptabilitate foarte controversată: da, filele sunt rearanjate la linie nouă când ecranul se îngustează și conținutul filei se îngustează odată cu acesta, dar nu arată foarte frumos. Această problemă poate fi rezolvată prin interogări media, dar având în vedere că nu vom fi legați de numărul de file, problema va rămâne pe unele dimensiuni de afișare.

Tragem o concluzie justificată: această metodă nu este potrivită pentru noi, deoarece nu va satisface majoritatea cerințelor. Implementarea este groaznică și nu aș recomanda utilizarea acesteia.

Varianta a doua

Aceasta metoda crearea de file fără JavaScript este deja mai practic, deși are și unele probleme în aplicare. Esența metodei este următoarea: caseta de selectare și elementele de etichetă sunt folosite pentru titlurile filelor și folosind pseudo-clasa:checked și încă una element div putem arăta numai conținutul filei active și ascunde toate celelalte:

Introducere filă-wrapper: bifat + etichetă + .tab-element (afișare: bloc;)

Tab - introducere wrapper: bifat + etichetă + . filă - element ( afișare : bloc ; )

Iată cum funcționează:

După cum probabil ați observat, în acest exemplu folosim poziție: absolute; pentru a plasa titlurile filelor în partea de sus și conținutul filelor în partea de jos. Acest lucru creează anumite probleme:

  1. Complet inadaptabil. Când schimbați dimensiunile ecranului, filele cad și conținutul filei le acoperă. Acest lucru poate fi remediat: faceți defilarea orizontală a filelor, această soluție are un loc, dar nu prea îmi place.
  2. Deoarece folosim poziționarea absolută pentru a afișa conținutul filelor, va trebui să specificăm o înălțime fixă ​​a filelor, altfel acestea se vor suprapune pe conținutul de mai jos (văzut în exemplu), ceea ce înseamnă că nu putem folosi această abordare cu un număr necunoscut anterior de file.

Desigur, în unele cazuri această metodă poate fi folosită, de exemplu, atunci când cunoașteți dinainte numărul de file și cantitatea de conținut din interiorul acestora. Dar căutăm solutie universala, prin urmare această abordare nu este aplicabilă în cazul nostru.

Soluţie

A treia opțiune, care este și soluția, este o modificare a celei de-a doua metode. Funcționează exact la fel, totuși nu vom folosi poziționarea absolută și proprietate de plutire pentru titluri.

ÎN aceasta metoda Folosim flexbox-ul la modă pentru a plasa file și conținutul acestora. Frumusețea flexbox aici este că putem desemna ce elemente să afișam mai întâi și care la sfârșit. Acest lucru se poate face folosind proprietatea de comandă: 1; , care este implicit la zero.

Adaptabilitatea filelor se realizează și prin proprietatea flex flex-grow: 1; , care permite filelor să se întindă pe toată lățimea conținutului, astfel încât să nu ne facem griji cu privire la afișarea unui număr diferit de file. De asemenea, putem plasa conținut de orice și diferite dimensiuni în interiorul fiecărei file, acest lucru nu va afecta afișarea conținutului după ele.

Această abordare funcționează în toate browsere moderne, inclusiv mobil. Dintre proprietățile neobișnuite pentru mulți, este folosit doar Flexbox și a fost mult timp acceptat pe scară largă. ÎN Browsere FireFox, Chrome, Safari și Opera, nu am găsit probleme cu funcționarea filelor.

Puteți verifica această abordare pe jsfiddle sau pe propriile proiecte. M-aș bucura să văd în comentarii și alte propuneri de soluții la această problemă.

Nu cu mult timp în urmă, ne-am uitat la implementarea filelor cu conținut, fără a conecta javascript, folosind exclusiv .
Astăzi vreau să vă prezint o altă soluție, nu mai puțin interesantă, pentru crearea unui bloc compact de file, construit pe CSS3 pur și folosind elemente aspect adaptiv. Ca și în prima variantă, nimic de prisos sau greoi, doar minim cod css, și veți avea la dispoziție un bloc adaptiv cu file comutabile care se va potrivi perfect în orice secțiune a paginii, fie că este un mesaj separat, o coloană laterală sau o fereastră modală.

Ce modificări au fost făcute față de prima versiune?
În primul rând, blocul de file a devenit adaptiv, adică. când vizionați dispozitive mobile, dimensiunea filelor se modifică în funcție de dimensiunea ecranelor dispozitivelor utilizatorului, textul titlurilor este eliminat și rămân doar pictogramele font, indicând sensul conținutului unuia sau altuia.
Pictogramele fonturilor sunt din , colecția este foarte bogată și, în plus, absolut gratuită. Puteți integra pictograme în orice proiect utilizând un set descărcat de fonturi sau le puteți conecta la fișierul stil CSS direct de pe site-ul dezvoltatorului prin @import folosind următoarea linie:

@import URL( „http://maxcdn.bootstrapcdn.com/font-awesome/4.1.0/css/font-awesome.min.css”) ;

@import url ("http://maxcdn.bootstrapcdn.com/font-awesome/4.1.0/css/font-awesome.min.css");

În exemplul demonstrativ, asta este exact ceea ce am făcut, așa că, uitându-vă la codul sursă, vă puteți da seama cu ușurință ce este.
Structura file-urilor din Html este destul de simplă. Container div de bază, link

, în care un anumit conținut este ascuns deocamdată. Toate! Nimic în plus, fără biblioteci js, nu fișiere suplimentare imagini în design, aspect filele, precum și funcționalitatea lor, se formează exclusiv folosind CSS. Desigur, utilizarea noilor standarde CSS3 nu garantează o funcționare stabilă în toate browserele fără excepție, dar în versiunile moderne, filele funcționează perfect. IE afișează corect filele începând cu versiunea 9. Deci, dacă vă pasă de psihicul și sentimentele de percepție ale utilizatorilor care folosesc cu încăpățânare versiuni mai vechi ale acestui „browser”, aceasta metoda Este mai bine să nu folosiți crearea de file, ci să folosiți jQuery.

HTML

< div class = "tabs" > < input id= "tab1" type= "radio" name= "tabs" checked> < label for = "tab1" title= "Fila 1" >Fila 1 < input id= "tab2" type= "radio" name= "tabs" > < label for = "tab2" title= "Fila 2" >Fila 2 < input id= "tab3" type= "radio" name= "tabs" > < label for = "tab3" title= "Fila 3" >Fila 3 < input id= "tab4" type= "radio" name= "tabs" > < label for = "tab4" title= "Fila 4" >Fila 4 < section id= "content-tab1" > < p> < section id= "content-tab2" > < p> < section id= "content-tab3" > < p>Postați orice conținut aici.... < section id= "content-tab4" > < p>Postați orice conținut aici....

Pentru a organiza blocurile de conținut am folosit eticheta

din clipul HTML5, care este folosit, în cele mai multe cazuri, pentru a împărți un document în secțiuni care sunt diferite ca semnificație și conținut, cu posibilitatea de a folosi propriile titluri de prim nivel

.
Comutarea filelor are loc prin interacțiunea atributului bifat din etichetă și pseudo-clasa:checked , strâns legate prin identificatori în CSS. În procesarea acestei metode se împiedică vechea, celebra frână a progresului Internet Explorer 8, din versiunea 9 totul funcționează cel mai bine.

Ajungem ușor la partea cea mai interesantă, la stilizarea file-urilor folosind magia CSS. Aici lucrurile sunt și mai simple, nu are rost să descriem în mod specific fiecare proprietate și parametri, am scris câteva explicații în codul sursă, așa că cred că nu va fi greu să-ți dai seama ce merge unde și de ce, dar dacă ai întrebări sau găsiți o eroare, scrieți în comentarii, cu siguranță voi răspunde și vă ajut.

CSS3

/* Container cu file de bază */. file (lățime minimă: 320 px; lățime maximă: 800 px; umplutură: 0 px; marjă: 0 automat; ) /* Stilează secțiunile de conținut */. tabs> secțiune (afișare: niciuna; umplutură: 15px; fundal: #fff; chenar: 1px solid #ddd; ) . tabs> section> p ( margine: 0 0 5px; line-height: 1,5; culoare: #383838; /* adaugă animație */- webkit- animatie- durata: 1s; animatie- durata: 1s; - webkit- animație- umplere- mod: ambele; animație-fill-mode: ambele; - webkit- animatie- nume: fadeIn; nume-animație: fadeIn; ) /* Descrieți animația proprietății opacității */@- webkit- keyframes fadeIn ( de la ( opacitate: 0 ; ) la ( opacitate: 1 ; ) ) @ keyframes fadeIn ( de la ( opacitate: 0 ; ) la ( opacitate: 1 ; ) ) /* Ascunde casetele de selectare */. tabs> input (afișare: niciunul; poziție: absolut; ) /* Stiluri de comutatoare de file */. file> etichetă ( afișare: bloc inline; margine: 0 0 - 1px; umplutură: 15px 25px; greutate font: 600; aliniere text: centru; culoare: #aaa; chenar: 0px solid #ddd; lățime chenar: 1px 1px 1px 1px; fundal: #f1f1f1; chenar-rază: 3px 3px 0 0 ; ) /* Pictograme de font din Font Awesomeîn format Unicode */. file> etichetă: înainte (font-familie: fontawesome; font-greutate: normal; margine-dreapta: 10px; ) . tabs> label[ for *= "1" ]: before (conținut: " \f 19a"; ). tabs> label[ for *= "2" ]: before (conținut: " \f 17a"; ). tabs> label[ for *= "3" ]: before (conținut: " \f 13b"; ). tabs> label[ for *= "4" ]: before (conținut: " \f 13c"; } /* Schimbă stilul comutatoarelor de file la trecerea cursorului */. file> etichetă: hover (culoare: #888; cursor: indicator; ) /* Stiluri pentru fila activă */. file> intrare: bifat+ etichetă (culoare: #555; chenar-sus: 1px solid #009933; chenar-jos: 1px solid #fff; fundal: #fff; ) /* Activarea secțiunilor folosind pseudo-clasa:checked */ #tab1:verificat~#content-tab1, #tab2:verificat~#content-tab2, #tab3:verificat~#content-tab3, #tab4:verificat~#content-tab4 ( afisare: bloc; ) /* Eliminați textul de pe comutatoare * și lăsați pictograme pe ecranele mici */ Ecran @media și (lățime maximă: 680 px) ( . tabs> etichetă ( font-size: 0 ; ) . tabs> etichetă: înainte ( margine: 0 ; font-size: 18px; ) ) /* Schimbați umplutura * a comutatoarelor pentru ecrane mici */ Ecran @media și (lățime maximă: 400 px) ( . file> etichetă ( umplutură: 15 px; ) )

/* Container de bază pentru file */ .tabs ( lățime minimă: 320 px; lățime maximă: 800 px; padding: 0 px; margine: 0 automat; ) /* Stiluri secțiuni de conținut */ .tabs>section ( afișare: niciuna; padding : 15px; fundal: #fff; chenar: 1px solid #ddd; ) .tabs>section>p (marja: 0 0 5px; line-height: 1,5; culoare: #383838; /* atașați animația */ -webkit-animation -durata: 1s; durata-animație: 1s; -modul-de-umplere-animație-webkit: ambele; modul-umplere-animație: ambele; -nume-animație-webkit: fadeIn; numele-animație: fadeIn; ) /* Descrieți proprietățile opacității animației */ @-webkit-keyframes fadeIn ( de la ( opacitate: 0; ) la ( opacitate: 1; ) ) @keyframes fadeIn ( de la ( opacitate: 0; ) la ( opacitate: 1; ) ) /* Ascunderea opacității casete de selectare * / .tabs>input (afișare: niciunul; poziție: absolut; ) /* Stiluri de comutatoare de file */ .tabs>label (afișare: inline-block; margine: 0 0 -1px; padding: 15px 25px; font- greutate: 600; aliniere text: centru; culoare: #aaa; chenar: 0px solid #ddd; lățime chenar: 1px 1px 1px 1px; fundal: #f1f1f1; chenar-rază: 3px 3px 0 0; ) /* Pictograme font din Font Awesome în format Unicode */ .tabs>label:before ( font-family: fontawesome; font-weight: normal; margin-right: 10px; ) .tabs>label:before ( conținut: " \f19a"; ) .tabs>label:before ( conținut: "\f17a"; ) .tabs>label:before ( conținut: "\f13b"; ) .tabs>label:before ( conținut: "\f13c"; ) /* Schimbă stilul comutatoarelor de file la trecerea cursorului */ .tabs>label:hover (culoare: #888; cursor: pointer; ) /* Stiluri pentru fila activă */ .tabs>input:checked+label (culoare: # 555; chenar -sus: 1px solid #009933; chenar-jos: 1px solid #fff; fundal: #fff; ) /* Activarea secțiunilor folosind pseudo-clasa:checked */ #tab1:checked~#content-tab1, # tab2:checked~# content-tab2, #tab3:checked~#content-tab3, #tab4:checked~#content-tab4 ( display: block; ) /* Eliminați textul din butoanele radio * și lăsați pictograme pe ecranele mici */ @media ecran și (max -width: 680px) ( .tabs>label ( font-size: 0; ) .tabs>label:before ( margin: 0; font-size: 18px; ) ) ) /* Schimbați umplutura pentru * comutatoare pentru ecrane mici */ @ ecran media și (lățime maximă: 400px) ( .tabs>label ( umplutură: 15px; ) )

Puteți proiecta filele () în orice mod doriți, totul din exemplu este doar un exemplu, viziunea mea de moment asupra produsului, nimic mai mult. Puteți afla valorile Unicode ale pictogramelor fontului de care aveți nevoie pe site-ul dezvoltatorului; pentru a face acest lucru, trebuie doar să faceți clic pe pictograma selectată și să copiați codul digital emis, cam așa: \f13b .
Vă rugăm să rețineți că atunci când reduceți dimensiunea ferestrei browser, filele se adaptează automat la dimensiunea curentă până la o anumită valoare (în exemplul 680px), după această valoare, titlurile text ale filelor dispar, lăsând pictograme. Acest lucru asigură compactitatea maximă a întregului bloc de file; tot ce rămâne este să alegeți pictogramele potrivite care se potrivesc cu semnificația conținutului prezentat în interiorul filelor.

Urmăriți un exemplu live despre cum funcționează filele, descărcați sursele, experimentați cu parametrii și creați, creați, creați...

Dacă te-ai săturat să lucrezi cu șabloane în limba engleză și visezi la o șansă de a folosi șabloane în limba rusă, atunci cu siguranță vei fi mulțumit de câteva vești grozave. Aceleași au apărut pe piața TemplateMonster soluții gata făcute, de care aveți nevoie. Da, da, pe site le găsești acum pe cele mai bune. Șabloanele localizate sunt exact ceea ce aveți nevoie dacă doriți să vă construiți proiectul online cantitate minimă timp. Pe lângă faptul că textele pentru șabloane au fost scrise manual, acestea au pe toate instrumentele necesare pentru a crea un site web profesional.

Cu tot respectul, Andrew

Bună seara! Astăzi vă voi spune cum puteți face file (file) în pur css3 fără a utiliza jquery sau alte scripturi. După cum știți deja, cu cât folosiți mai puține scripturi, cu atât este mai bine pentru site-ul dvs. și cu atât va funcționa mai repede. Și viteza site-ului de astăzi este una dintre cele mai rapide indicatori importanți clasamentul său în motoarele de căutare.

Deci, să începem

File adaptive folosind css pur și fără scripturi

Astăzi există file pe aproape fiecare site web. Sunt necesare pentru a afișa mai multe zone de conținut fără ca utilizatorul să navigheze la alte pagini. De exemplu, într-unul dintre proiectele mele de dezvoltare a unui magazin online pe Joomla, am adăugat două file care ar afișa 3 produse de două tipuri: „cele mai vândute” și „cele mai recente”. S-a luat decizia de a le face folosind CSS pur fără a reîncărca site-ul cu scripturi inutile.

Asadar, haideti sa începem.

Cod HTML pentru file folosind css3 punct cu punct

1. În primul rând, trebuie să creăm div cu clasa „file”.

2. Adăugăm direct butoane de comutare cu numele „file”, atunci când facem clic pe acestea vor include conținutul filelor noastre.

3. Adăugați numele lor prin etichetă

4. Sub butoanele pe care le-am făcut la pașii 1-3, adăugăm conținutul pe care trebuie să îl afișam. În cazul meu, acestea sunt ultimele trei produse și primele trei produse.

Fiecare bloc are o clasă tab-conținut și identificatori tab-content-1 și tab-content-2.

HTML final al filelor noastre viitoare

În acest moment am terminat cu scrierea html-ului nostru. De acord, nu a fost nimic complicat aici. Deci hai sa mergem mai departe.

Stiluri CSS pentru file folosind css3 punct cu punct

Acum vine partea cea mai interesantă și dificilă. Trebuie să facem filele noastre care să se schimbe atunci când se dă clic :)

Deoarece vom avea două file, trebuie să le atribuim o lățime astfel încât să se potrivească pe ecran și să nu depășească linia acestuia. Pentru asta scriem latime 50%. Dacă aveți un număr diferit de file, atunci calculați lățimea în funcție de numărul acestora.

De asemenea, rețineți că, implicit, facem butoanele radio invizibile

File (lățime maximă: 90%; flotant: niciunul; stil listă: niciunul; umplutură: 0; marjă: 75 px automat; chenar-jos: 4 px solid #ccc; ) .tabs:after ( conținut: ""; afișare: tabel; clear: ambele; ) .tabs input (afișare: niciunul; ) .tabs etichetă p ( umplutură: 5px; margine-dreapta: 0; ) .tabs etichetă (afișare: bloc; float: stânga; lățime: 50%; culoare : #ccc; dimensiunea fontului: 30px; greutatea fontului: normal; decorarea textului: niciuna; alinierea textului: centru; înălțimea liniei: 2; cursor: indicator; umbră casetă: inserție 0 4px #ccc; chenar- jos: 4px solid #ccc; -webkit-transition: toate 0.5s; /* Safari 3.1 la 6.0 */ tranziție: toate 0.5s; ) .tabs label span (afișare: niciunul; ) .tabs label:hover (culoare: # 3498db; umbră casetă: inserție 0 4px #3498db; margine de jos: 4px solid #3498db; ) .fil-conținut (afișare: niciunul; lățime: 100%; float: stânga; umplutură: 15px; dimensiunea casetei: chenar- casetă; culoarea de fundal:#ffffff; )

Cum să funcționeze

Și aici totul este simplu.

Adăugați următorul cod CSS

File : bifat + etichetă ( fundal: #FFF; umbră casetă: inserție 0 4px #3498db; chenar-jos: 4px solid #3498db; culoare: #3498db; ) #tab-first:verificat ~ #tab-content-1, #tab-second:verificat ~ #tab-content-2 (afișare: bloc; )

În rândurile de mai sus adăugăm un stil special pentru fila activă folosind :verificat + etichetă

#tab-first:verificat ~ #tab-content-1- această linie spune că trebuie să afișăm conținut care are id="fil-conținut-1", Dacă fila-în primul rând are statutul verificat.

Ne facem filele adaptabile

@media (lățime minimă: 768 px) ( .tabs p ( umplutură: 5 px; margine-dreapta: 10 px; ) .tabs ( lățime maximă: 750 px; margine: 50 px automată; ) )

Ei bine, asta e tot. Filele noastre sunt gata :). Le puteți modifica după cum doriți, le puteți adăuga sau elimina. Multumesc pentru atentie :)