See artikkel on osa meie "HTML5 / CSS3 juhendite seeria" - pühendatud selleks, et aidata teil paremini disainer ja / või arendaja. Kliki siia et näha sama seeria rohkem artikleid.
Selles ametikohas töötame välja fiktiivse projekti, luues iPhone 4S-i pakkumiseks ühtse toote lehekülje ning me rakendame selles projektis ka meetodeid, mida oleme eelmistes postitustes arutanud; the elemendi ja nullimise valija.
Alustame.
HTML5-märgistus
Esiteks peame looma html dokument, millel on järgmine märgistus:
Apple iPhone 4 - 16GB
Kõige hämmastavam iPhone veel.
Kiirem kahetuumaline A5 kiip. 8MP kaamera koos uue optikaga ka 1080p HD videot. Ja tutvustades Siri. See on veel kõige hämmastavam iPhone.
Toote omadused
8 megapiksline kaamera koos täieliku 1080p videosalvestusega
Siri häälab
iCloud
Air Print
Võrkkesta ekraan
Fotode ja videote geodeering
Me kasutame HTML5 spetsifikatsioonist mitmeid uusi silte, nagu näiteks päis, hgroup, joonis, lõik, ja üks, mida oleme varem arutanud; the üksikasjad ja kokkuvõte silt.
Kuid me ei kaota neid silte, mitte sellepärast, et me ei taha, vaid pigem on need põhiteemad, mida mujalt kergesti leiad. Niisiis, kui olete HTML5-s tõesti uus, soovitan teil lugeda järgmiste siltide viiteid; nad on neid põhjalikult selgitanud:
Räägime semantilisest
HTML5 päise element
Hgroup Element
HTML5-märgise viide
Nüüd vaatame meie lehe esimest välimust.
Noh, see tundub mõistlik ilma igasuguste stiilideta. Kõige üleval on päis ja seejärel kuvatakse pilt, kirjeldus ja lõpuks nupu Osta kohe. Nüüd, leiame selle lehe üles.
Stiilid
Alustame kõigi stiilitabelite tavapäraste stiilide normaliseerimisega ja lisame html silt.
Nagu tavaliselt, põhjustab IE (Internet Explorer) alati probleeme; kui avate selle mis tahes IE-s, mis on madalam kui 9, jääb leht stiilile.
Seda seetõttu, et Internet Explorer ei tunnista uusi elemente (lõik, päis, jne), nii et stiilid, mida oleme määranud, ei sobi. Seega teeme järgmise sammuna selle probleemi lahendamiseks.
Brauseri toe testimine
Meie eelmises postituses oleme käsitlenud selle elemendi elementi brauseri tuge, kasutades seda polüfillit; nii et see võiks töötada toetamata brauserites. Kuid seekord püüame Modernizriga seda teha.
Oma ametlikul veebilehel, "Modernizr on avatud lähtekoodiga JavaScript-raamatukogu, mis aitab teil järgmise põlvkonna ehitada HTML5 ja CSS3-powered veebilehed". Tehniliselt testib Modernizr brauseri tuge teatud uute elementide ja funktsioonide jaoks. Kui toetust ei anta, peame tagama, kas see on erinevate stiilide või pakkumiste andmisega polüfillid. Sellisel juhul kasutame Modernizri, et aidata meil detailide ja kokkuvõtliku elemendi testimist.
Mine Modernizrile ja jätkake allalaadimise lehele.
Allalaadimise lehel pakub Modernizr mõningaid võimalusi raamatukogu konfigureerimiseks, nii et teil on vaja valida ainult teatud funktsioonid, mida te oma veebisaidi jaoks vajate. Sel juhul on meil vaja:
HTML5Shiv 3.4
Lisa CSS klassid, see funktsioon sisestab klassid automaatselt HTML-märgisesse.
the Modernizr.load,
minge ühenduse lisandmoodulite kasti ja valige elem-detailid,
Valige laiendatavuse jaotises Modernizr.addTest.
Faili loomine ja allalaadimine.
Linkige see oma HTML-iga ja laadige leht uuesti Internet Explorerisse. Lehekülg oleks pidanud nüüd olema kujundatud, kuna Internet Explorer saab nüüd sildid tuvastada.
Ja kui vaatate allikat või kontrollite elementi, leiad html-sildi lisamata klassi; näitab, et brauser, kus me lehekülge eelvaatame; praegu ei toeta üksikasjalikku elementi. @@@@ [Ma ei saa sellest lausest aru. ]
Siis saame luua selle klassi konksu taga, mida teeme järgmises etapis.
Tagasi
Selles etapis pakume sarnast üksikasjad elementide funktsionaalsus teiste brauserite jaoks (va Chrome). Eelmises postituses tehti see samm selle skripti abil automaatselt, kuid seekord loome selle ise.
Märge: Lihtsalt vaadake natuke meie eelmisest postitusest; üksikasjade element on praegu toetatud ainult Chrome'i brauseris.
Niisiis, alustame kõigepealt CSS-iga töötamist.
Kokkuvõtvalt me muudame kursori režiimi kursoriks, nii et kasutaja märkab, et see on klõpsatav.
Vaikimisi kuvatud nool on nüüd asendatud meie ikooniga ja kui te seda Chrome'is näete, on teil juba klõpsamisel klaviatuuril vahetamise efekt; ikoon muutub vastavalt. Kuid teistes brauserites ei juhtu midagi. Niisiis, järgmises etapis püüame korrata efekti jQueryga.
JQueryga lülitumine
Enne kui alustame jQuery-osaga, tahaksin tänada Ian Devlini inspiratsiooni eest, allpool olev skript on tegelikult väike muutus tema.
Olgu, luuakse muutuja, et salvestada kokkuvõtlik silt.
var summary = $ („detailide kokkuvõte”);
Siis pakume kokkuvõtte kõik õde-vendade elemendid a-ga div.
Summary.siblings (). wrapAll ('');
Ja peida see div, kui detailielemendil pole avatud klassi.
$ ('üksikasjad: mitte (.open) kokkuvõte).) õed-vennad (' div '). hide ();
Kui kokkuvõtet klõpsatakse, siis tahame näidata peidetud divi ja vastupidi, kui div on esialgu avatud, oleks see peidetud.
Veendumaks, et need funktsioonid täidetakse ainult toetamata brauserites, pakume need selle tingimusliku avalduse sisse.
kui ($ ('html'). hasClass ('no-details')) // kood siit
Ja allpool on kood, mis meil on:
kui ($ ('html'). hasClass ('no-details')) var summary = $ ('üksikasjade kokkuvõte'); Summary.siblings (). wrapAll (''); $ ('üksikasjad: mitte (.open) kokkuvõte).) õed-vennad (' div '). hide (); Summary.click (funktsioon () $ (this) .siblings ('div'). toggle (); $ ('üksikasjad') toggleClass ('open'););
Nüüd katsetame seda brauseris; ümberlülitusefekt oleks pidanud töötama kõigis brauserites, olen isiklikult kontrollinud (kuni Internet Explorer 7).
Demo
Allalaadimise allikas
Nõuanded: Teise võimalusena saate seda muuta .ümberlülitamine () koos .slideToggle () slaidiefekti loomiseks. Kui soovite, et detail avataks esialgu, saate detailide elemendis avada klassi.
Järeldus
Oleme läbi viinud kõik sammud, et luua HTML5 abil üks toote leht, silumislahendused toetamata brauserite jaoks, samuti kordame detailelemendi vahetamise efekti meie enda poolt, nii et loodetavasti saate sellest palju õppida.
Kuid ma olen teadlik, et ma ei selgitanud kõike üksikasjalikult selles postituses, nii et kui soovite midagi üles öelda, saatke küsimus allpool olevasse märkeruutu..