Creați o zonă cu conținut subțire cu filet utilizând CSS și jQuery

Una dintre cele mai mari provocări pentru designerii de web este găsirea modalităților de a plasa o mulțime de informații pe o pagină fără a pierde gradul de utilizare. Conținutul cu file este o modalitate excelentă de a rezolva această problemă și a fost utilizat pe scară largă pe bloguri recent. Astăzi vom construi o casetă de informare simplă în tabelul HTML, apoi o vom face să funcționeze folosind niște simple Javascript și apoi vom obține în cele din urmă același lucru folosind biblioteca jQuery.


Pasul 1

În primul rând, avem nevoie de ceva care arată minunat. Deci, o excursie rapidă la Photoshop și voila avem un mockup frumos despre ceea ce ar trebui să arate componenta noastră tabulară. Este destul de drept înainte, cu câteva gradienți suplimentare pentru a face nettuts minunat. Aveți posibilitatea să apucați fișierul Photoshop PSD pentru această imagine dacă doriți să aruncați o privire mai atentă, dar este destul de simplă și o putem construi din spațiul JPG plat.


Pasul 2

Primul lucru pe care trebuie să-l faceți atunci când construiți cursul este să obțineți o idee grosolană despre cum veți proceda. Acest lucru devine mai ușor cu cât mai multe lucruri pe care le-ați dezvoltat. Privind la această imagine aș spune că cel mai bun lucru pe care trebuie să-l faceți este:

  1. Aveți un recipient
    pe care le vom pune totul înăuntru. În acest fel, dacă ar fi trebuit să ne poziționăm caseta sau să o lăsăm într-o bară laterală, putem să luăm tot ce este înfășurat în
    și copiați + lipiți-l undeva.
  2. Apoi vom avea zona de rulare, probabil cu a etichetă
  3. Apoi sub asta vom avea o secundă
    eticheta care va tine filele si continutul. Aceasta este caseta gri închis în imagine.
  4. Apoi, înăuntru vom folosi o listă neordonată

Ca să rezumăm, va fi ceva de genul:

 

Nu vă faceți griji dacă privirea la acea imagine nu vă face să vă gândiți imediat la acea structură. Uneori trebuie doar să faci lucruri de încercare și de eroare. În cazul meu, am făcut aceste lucruri cu câteva fileuri de câteva ori și știu că este o modalitate simplă de a le face.

De asemenea, este bine să vă gândiți la structura de genul asta, înainte de a avea o mulțime de nume de clasă și de conținut și de conținut, deoarece poate fi greu să vedeți pădurea din copaci mai târziu. Mai ales când adăugați conținut pentru toate filele diferite.

Acum că avem o imagine în mintea cum să ne construim structura, să ajungem la ea!


Pasul 3

Acum, dacă ați urmat tutorialele mele pe PSDTUTS, veți ști că îmi place un fond de gradient bun. Așa că, înainte de a începe chiar cu structura tabelă, să ne facem un fundal frumos!

Deschideți Photoshop, creați un document 1000px x 1000px și desenați un gradient frumos (subtil) radial ca cel prezentat mai jos. Rețineți că am scos-o de la centru / sus și am asigurat că gradientul este terminat până când ajung la marginea documentului. Aceasta înseamnă că pot seta culoarea de fundal în HTML pentru a fi culoarea mai închisă și dacă cineva își întinde fereastra browserului va fi fără probleme.


Pasul 4

Deci, creați un nou director pentru proiect, apoi creați un al doilea director numit acolo imagini și salvați imaginea din interior ca background.jpg. Când salvați utilizarea Fișier> Salvare pentru Web și dispozitive și selectați JPG cu o setare de calitate de aproximativ 70. Aceasta iese la o dimensiune de fișier de 16kb, care nu este prea rău. Trebuia să existe un moment în care a trebuit să scrii și să salvezi cu adevărat, dar acum vrei să te asiguri că nu ești prost risipitor cu dimensiunile fișierelor tale.

Acum, creăm un document HTML și scriem într-un anumit cod:

    Structura cu filet - regulat     

Deci, aceasta va fi baza HTML-ului nostru. Acum o vom crea style.css documentați și scrieți în următoarele:

 corpul background-image: url (images / background.jpg); background-repeat: no-repetare; fundal-poziție: centrul de top; background-color: # 657077; margin: 40px; 

Câteva lucruri pe care trebuie să le menționăm aici:

  1. Este posibil să scrieți același CSS folosind stenograma și să reduceți numărul de linii utilizate, dar este mult mai clar în acest fel și mai bine pentru scrierea tutorialului!
  2. Avem o imagine de fundal (gradientul) și am setat-o ​​să nu se repete, deoarece dorim doar să apară o singură dată, este centrat și în final culoarea de fundal (# 657077) este culoarea mai închisă.
  3. Am adăugat o marjă de 40 pixeli. Aceasta este doar pentru poziționarea lucrurile mele mai târziu, astfel încât să arate frumos.

Puteți vedea documentul HTML rezultat aici. Rețineți că dacă vă redimensionați fereastra este un fundal absolut frumos absolvit. Wunderbar!


Pasul 5

Apoi, adăugăm structura noastră la pagină, astfel încât să putem începe stilul.

    Structura cu filet - regulat      

Așa cum puteți vedea că am folosit în esență aceeași structură pe care am menționat-o în Pasul 2. Am adăugat câteva id-uri și clase și un conținut real. Iată raționamentul din spatele a ceea ce am făcut:

  1. Pentru rubrica, am plasat subtextul "Select a Tab" în a element. Acest lucru îmi permite să folosesc

    element pentru poziționarea globală și element pentru a restyle și poziționarea subtextului.

  2. Containerul
    are un id = "tabbed_box_1" și a class = "tabbed_box". Am făcut acest lucru pentru că am putea reutiliza acest cod de mai multe ori pe aceeași pagină. Dacă am fi făcut asta, am putea folosi id-urile pentru a le poziționa pe fiecare în locuri diferite. Dar încă mai aveam clasa de a face stilul. Dacă vom folosi id-ul pentru stil, ar fi trebuit să definim aceleași stiluri din nou și din nou pentru id-uri diferite.
  3. Am dat link-urile și id-urile pentru zonele de conținut pentru că trebuie să folosim Javascript pentru a le manipula mai târziu.
  4. În cele din urmă l-am dat
      element un nume de clasă. De fapt, am putea să-l stilim fără o clasă doar prin stil .tabbed_area ul dar acest lucru ar putea deveni confuz cu viitorul
        le punem în interiorul zonei de conținut. Deci, este mai bine pentru el să aibă un nume de clasă pentru care să ne referim.

OK, fără stiluri, nu prea arată prea mult ... încă!


Pasul 6

Acum, cu elemente de styling, cred că este mai bine să lucrați din elementul exterior. Deci, vom începe cu acest element -

- pe care o vom folosi pentru a poziționa cutia frumos în centrul documentului nostru utilizând acest cod:

 #tabbed_box margin: 0px auto 0px auto; lățime: 300px; 

Pasul 7

Acum vom face zona de rulare. Putem schita astfel:

 .tabbed_box h4 font-family: Arial, Helvetica, sans-serif; font-size: 23px; Culoare: #FFFFFF; literă Spațiere: -1px; margin-bottom: 10px;  .tabbed_box h4 mică culoare: # e3e9ec; font-weight: normal; font-size: 9px; font-familie: Verdana, Arial, Helvetica, sans-serif; text-transform: majuscule; Poziția: relativă; sus: -4px; stânga: 6px; literă Spațiere: 0px; 

Câteva lucruri de reținut aici:

  1. În loc să defini doar stiluri pentru h4, am definit pentru .tabbed_box h4. Acest lucru este important într-un document HTML mai mare, deoarece este posibil să aveți un alt stil h4 în altă parte. Deci, doriți să vă asigurați că nu se suprapun sau provoca probleme de suprapunere viitoare.
  2. Veți observa că am ajustat și marginea inferioară pe h4 la 10px. Acest lucru este în așa fel încât spațiul să pară drept. Este important să știți că multe elemente au valori implicite. De exemplu, un h4 are deja o margine inferioară și este mai mare decât am dori. Dacă nu am fi stabilit acest lucru, ar apărea cu o marjă mai mare. Unii oameni folosesc foi de stiluri speciale care reseta toate aceste valori implicite, dar am obișnuit să le reinițializez individual când trebuie.
  3. Veți vedea că am folosit și atributul text-transform pentru a face textul mic toate capitalele. Am putea, desigur, tocmai am scris-o în capace, dar îmi place să fac așa!
  4. De asemenea, veți observa în definiția mică, i-am dat o poziție: definiție relativă, aceasta este astfel încât să pot ajusta unde apare, deplasându-l cu 4px spre partea de sus și 6px spre dreapta.
  5. În cele din urmă, când am modelat elementul h4, i-am dat o spațiere negativă a literelor, dar asta înseamnă că elementul mic primește același spațiu negativ al literelor pe care nu-l dorim. Deci trebuie să o definiu din nou ca 0px acolo. Acest lucru se datorează faptului că stilurile sunt în cascadă în jos - de aici numele Cascading Style Sheets. De multe ori veți observa că ceva pare ciudat pe pagina dvs. și va fi pentru că elementul a moștenit un stil pe care l-ați uitat total. Când am făcut prima dată acest stil de coafură, m-am uitat la micul pic pentru veacuri încercând să-mi dau seama de ce părea atât de înăbușit, până mi-am amintit!

Pasul 8

Îți vom da înăuntru

un pic de stil cu acest cod:

 .tabbed_area border: 1px solid # 494e52; background-color: # 636d76; padding: 8px; 

Acest lucru oferă doar un pic de definiție și spații elementele interioare departe de părți. Puteți vedea unde ne aflăm în imaginea de mai jos.

Lucrând din exterior, am dat elementul nostru un pic de formă și este mult mai ușor să vedem cum se va termina în căutarea. De asemenea, de multe ori veți avea constrângeri venind din exterior, de exemplu, caseta ar putea fi necesară pentru a se încadra într-o coloană cu o anumită lățime. În cele din urmă, este de asemenea o idee bună să ieșiți înăuntru, pentru că atunci orice moștenire a stilului este clară. De exemplu, dacă ați mers invers și ați făcut mai întâi elementele interioare, stilurile ulterioare ar putea afecta acele elemente interioare și va trebui să vă întoarceți și să vă reajustați oricum.


Pasul 9

Acum ajungem la lucrurile bune - la filele! Dacă adăugăm această mică bucată de CSS, vom face un drum lung pentru a face ca filele să arate mai mult ca filele:

 ul.tabs margine: 0px; padding: 0px;  ul.tabs li stil-list: none; display: inline; 

Acest cod spune că