Sfat rapid elementul de detaliu minunat

Una dintre cele mai noi etichete HTML5 preferate, care a fost integrată recent în Chrome (din versiunea 12), este Detalii element. Îți arăt să o folosești în sfatul de astăzi.


Ce face Detalii Etichetă Nu?

În esență, ne permite să afișăm și să ascundem conținutul prin apăsarea unui buton. Cu siguranță sunteți familiarizați cu acest tip de efect, dar, până acum, a fost întotdeauna realizat cu JavaScript. Imaginați-vă o rubrică cu o săgeată de lângă ea și când faceți clic pe ea, informațiile suplimentare de mai jos devin vizibile. Dând clic pe săgeată din nou, ascunde conținutul. Acest tip de funcționalitate este foarte frecvent în paginile de întrebări frecvente.

Iată un exemplu de două minute de acest fel de efect. (Tip Controlați + Introduceți pentru a procesa JavaScript.)

Detalii element ne permite să omitem în întregime JavaScript. Sau, mai bine pune, în cele din urmă va. Suportul pentru browser este în continuare un pic redus.


Un exemplu

Deci, să ne aruncăm cu capul în jos și să învățăm cum să folosim această nouă etichetă. Începem prin a crea un nou Detalii element.

 

În continuare, trebuie să îi oferim un titlu sau rezumat a conținutului din.

 
Cine merge la Colegiu?

Implicit, în browsere care înțeleg Detalii element, totul în el - altul decât rezumat tag - va fi ascuns. Să adăugăm un paragraf după rezumat.

 
Cine merge la Colegiu?

Mama ta.

Continuați și încercați demo-ul în Chrome 12 sau mai mult (începând cu data de 17 noiembrie 2011).

Bine, să facem ceva mai practic. Vreau să afișez diverse articole Nettuts + folosind Detalii element. Mai întâi creăm marcajul pentru un singur articol.

 
Să mergem în Dojo Dojo

Dig în Dojo: Bazele DOM

Poate că ați văzut acel tweet: "jQuery este un drog de gateway. Aceasta duce la utilizarea full-on a JavaScript. "O parte din această dependență, susțin, este învățarea altor cadre JavaScript. Și asta este totul despre această serie de patru părți despre incredibilul Dojo Toolkit: vă duce la nivelul următor al dependenței de JavaScript.

În continuare, îi vom da doar un aspect de stil.

 corp font-family: sans-serif;  detalii overflow: hidden; fundal: # e3e3e3; margin-bottom: 10px; afișare: bloc;  rezumatul detaliilor cursor: pointer; padding: 10px;  detalii div float: left; lățime: 65%;  detalii div h3 margin-top: 0;  detalii img float: left; lățime: 200px; umplutura: 0 30px 10px 10px; 

Vă rugăm să rețineți că vă arăt deschis pentru confort, dar atunci când se încarcă pagina, veți vedea numai rezumat text.

Dacă preferați să fiți implicit în această stare, adăugați deschis atribut la Detalii element:

Modelarea săgeții

Nu este chiar atât de îndreptat să stilul săgeții în sine așa cum am putea să sperăm. Cu toate acestea, este posibil; cheia este de a utiliza -WebKit-detalii marker pseudo-clasă.

 detalii sumar :: - webkit-details-marker culoare: verde; font-size: 20px; 

Dacă aveți nevoie să utilizați o pictogramă personalizată, este posibil ca cea mai ușoară soluție să ascundeți săgeata (utilizând clasa pseudo de mai sus) și apoi să aplicați o imagine de fundal rezumat element sau utilizați :după sau :inainte de pseudo elemente.

Vedeți proiectul final.


Concluzie

Este cu siguranță un efect simplu, dar este bine să aveți o funcție comună încorporată. Până vom putea folosi în mod fiabil Detalii element din toate browserele, puteți utiliza acest polifil pentru a oferi suport alternativ. O notă finală: la momentul acestei scrieri, nu pare să existe o modalitate de a comuta conținutul cu o tastatură. Acest lucru ar putea prezenta unele probleme de accesibilitate.

Cod