Se pare că CSS Grid este destul de bun la stabilirea de benzi desenate online, mai ales dacă doriți ca benzi desenate să fie flexibile. În acest tutorial vom folosi Barry pisica pentru a demonstra cum să construiască un comic receptiv.
Pentru acest tutorial am împrumutat câteva lucrări de la GraphicRiver; Sleepy Fat Cat este de fapt un tip de afișaj, dar vine ambalat cu niște vectori de pisică minunați - perfect pentru acest demo de benzi desenate!
Sleepy Fat Cat de tipar pe GraphicRiverNu uitați, veți avea nevoie de funcții de browser de ultimă oră pentru a vedea Gridul CSS în acțiune, citiți astfel prin CSS Grid Layout: Un ghid de pornire rapidă dacă utilizați un browser care nu este compatibil. Iată la ce lucrăm:
Check out demo-ul complet pe CodePen pentru a vedea că răspunde la diferite dimensiuni ale ecranului.
Să începem prin stabilirea unor HTML:
Barca lui Perry
O poveste de letargie și mobilier moale
- Probabil că ar trebui să mă ridic - lucruri de făcut.
„Naaaaaah.“
Sleepy Fat Cat de messenj4h
© Drepturi de autor fericit vreodată după Envato Tuts+
Aici avem a Câteva panouri au text în ele, dar restul va fi pentru imaginile noastre de benzi desenate. Avem două opțiuni aici: putem plasa imaginile noastre în interiorul panourilor sau puteți adăuga imagini prin CSS. Fac aceasta din urmă pentru că oferă un control mai ușor asupra plasării și dimensiunii grafice, dar ați putea susține că imaginile inline ar fi mai accesibile. Alegerea ta. Pentru a obține rostogolirea mingii (blană), să adăugăm câteva stiluri care să acopere tipografia și culorile noastre: Am ales Kalam ca font web Google pentru textul nostru - stilul său scris de mână este perfect pentru benzi desenate mă gândesc. Va trebui să îl conectați în CSS sau printr-un link din capul documentului: Pornind mai întâi pentru mobil, vom pune lucrurile într-o coloană cu un singur panou pe fiecare rând: Privind înapoi la tutorialele noastre din Grid anterioare, îți vei aminti asta Să adăugăm acum câteva stiluri generale panourilor noastre: Să vedem ce avem până acum! Pentru ce a fost creat internetul, nu? Am pregătit câteva imagini SVG pentru a adăuga panourile, pe care le fac unul câte unul: Arata bine! Dar nu vreau frontierele toate panourile. Le voi elimina (folosind Aceste imagini nu funcționează încă perfect; bătrânul bătrân, Barry, ia o recoltă serioasă. Este timpul să privim dincolo de mobil și să ne modificăm grila pentru ferestrele de vizualizare mai mari. Să adăugăm câteva interogări media; unul la 400 de pixeli și unul la 600 de pixeli (cifre arbitrare, utilizați ceea ce doriți): Le vom folosi pentru a modifica aspectul rețelei în fiecare caz. Mergem pentru două coloane și opt rânduri pentru ecrane ușor mai mari, apoi trei coloane și cinci rânduri pentru chiar mai mari. Acum am izbucnit din constrângerile noastre de coloană unică, putem fi puțin mai creativi. Avem nevoie, de exemplu, de titlul nostru pentru a alerga de-a lungul lățimii întregului benzi desenate. Același lucru este valabil și pentru panourile care conțin text și declarația privind drepturile de autor. Chiar și unele dintre imagini ar fi mai bine servite în panouri cu lățime întreagă. Așadar, vom adăuga aceste detalii la prima dintre întrebările noastre media: Am schimbat și tipografia în câteva cazuri, dându-ne în cele din urmă: Dimensiunea noastră de două coloane arată grozav! Cu toate acestea, nevoile noastre de trei coloane de benzi desenate trebuie fixate. Pe măsură ce lucrăm mai întâi la nivel de telefon mobil, regulile pe care le-am aplicat la prima noastră interogare media continuă să aibă efect asupra celei mai mari ecrane. Trebuie să lucrăm prin panouri și să resetăm câteva stiluri. Începeți prin a face Același lucru este valabil și pentru Aș dori ca primul dialog să fie centrat pe verticală, deci să folosim flexbox pentru a face asta. Adăugați următoarele la cea de-a doua interogare media: Grilă nu ne limitează la blocuri echidistant care rulează de-a lungul și în jos o pagină, putem, de asemenea, strat straturi de panouri prea. Vom face puțin mai interesant textul nostru final atribuindu-l aceleiași locații ca și panoul următor: Aici am poziționat amândouă Putem folosi z-index pentru a modifica ordinea de stivuire, deci da Notă: acum că am eliminat efectiv un rând, va trebui să vă verificați Să adăugăm un stil mai mult la "Naaah". Din nou, elementele de rețea nu sunt restricționate la fel de mult cum ați putea crede - le putem schimba cu margini negative și chiar le putem transforma fără nici o problemă. Am adaugat cateva stiluri la panou si paragraful din el pentru a da aceasta: Bine, iată ce am construit! Acesta a fost un exercițiu distractiv în utilizarea rețelei CSS, introducând în același timp câteva noi concepte Grid de-a lungul drumului. Sper că ți-a plăcut - acum dacă nu te deranjează, am plecat pentru un pui de somn. pentru a acționa ca rețeaua noastră, cu o încărcătură de
2. Stiluri de bază
/ * elementele de bază * / corpul background: # f8f7f2; umplutură: 0 10%; font: 100% / 1.5 'Kalam', cursive; h1 margine: 0; linia-înălțime: 1; padding: 10px; culoare: # 251b19; p margine: 0; padding: 10px; culoare: # 251b19; font-size: 1.2m; a culoare: # e56633; a: hover text-decorare: nimic;
3. Gridul nostru
.grilă-1 display: grilă; lățime: 100%; max-lățime: 770px; marja: 10% auto; grilă-șablon-coloane: 1fr; grilă-șablon-rânduri: auto 200px 200px auto 200px 200px 200px auto 200px 200px auto; grid-gap: 25px;
grilă matriță coloane
atribuie câte coloane vom avea și cât de largi vor fi. grid-șablon rânduri
face același lucru pentru rânduri; aici definim unsprezece dintre ei. Cele care conțin imagini vor avea o înălțime de 200 de pixeli, cele cu text vor fi dimensionate automat în funcție de conținut. In cele din urma, grid-gap
definește mărimea jgheabului..panou culoare: alb; background-repeat: nu-repeta; fundal-poziție: centru centru; dimensiunea fundalului: capac; box-shadow: 0px 0px 0px 5px # 251b19;
fundal
proprietatile nu au nici un impact vizual tocmai inca, dar vor fi doar de indata ce vom adauga cateva imagini de fundal. Si box-shadow
acționează ca graniță. Puteți utiliza, de asemenea, tradiționale frontieră
proprietăți aici, dacă preferați, dar umbra în cutie uneori oferă o mai mare flexibilitate. 4. Cat Pictures
.panoul-1 fundal-imagine: url (cat-1.svg);
box-shadow: nici unul;
) din cele care conțin text, împreună cu prima imagine și imaginea finală. 5. Întrebări media
/ * interogare media 1 * / numai @ ecran și (min-width: 400px) / * interogare media 2 * / numai @media și (min-width: 600px)
/ * interogare media 1 * / numai @ ecran și (min-width: 400px) .grid-1 grid-template-coloane: repeat (2, 1fr); grilă-șablon-rânduri: auto 200px auto 200px 200px auto 200px auto; / * interogare media 2 * / @media numai pe ecran și (min-width: 600px) .grid-1 grid-template-coloane: repeat (3, 1fr); grilă-șablon-rânduri: auto 200px 200px 200px auto;
Spanning
.panel-title, .panel-3, .panel-6, .panel-7, .panel-copyright grilă-coloană: span 2;
6. Fixarea celei de-a treia coloane
.Panou-titlu
span trei coloane, în loc de doar două. Atunci .Panou-3
(cu textul) poate fi readus la grilă-coloană: interval 1;
sau grilă-coloană: auto;
.Panou-6
. Cu câteva schimbări, ar trebui să ajungeți la ceva de genul:Un Wee Bit de Flexbox
.panoul-3 display: flex; aliniere: centru;
Înainte de flexbox, după flexbox 7. Suprapunerea panourilor
.panoul-7 grilă-coloană: 1; grilă-rând: 4; z-index: 1; .panel-8 grilă-coloană: 1 / span 2; grilă-rând: 4;
.Panou-7
și .Panou-8
la grilă-coloană: 1;
și grilă-rând: 4;
. Asta inseamna ca ambele sunt in acelasi loc, oricare ar aparea pe locul doi in DOM, fiind stivuit in partea de sus a primei..Panou-7
A z-index: 1;
o aduce la început:grid-șablon rânduri
sunt ok. Concluzie
Citirea în continuare