Mobiilirakenduste disain / Dev Building Navigation koos jQuery
Nutitelefonid on nüüd varustatud väga tõhusate veebibrauseritega. JavaScript on võimsam kui kunagi varem ja seda saab laiendada koodiraamatukogude, näiteks jQuery abil. Viimaste HTML5 / CSS3 spetsifikatsioonide lisamisel on võimalik ehitada väga õrnad mobiilirakendused, millel on mõned põhifaili koodid.
Selles juhendis näitan, kuidas saate luua mobiilipõhise veebilehe / webapp. Me kasutame CSS3 meedia päringuid konkreetsete seadmete ja ekraani resolutsioonide sihtimiseks. Plus natuke jQuery aitab animeerida menüü ja laadida välise lehe sisu kasutades Ajax kõned. Veelgi parem, paigutus võib isegi laieneda, et kuvada korralikult tavalistes brauserites nagu Chrome või Firefox.
- Live Demo
- Lähtekood
Lehekülje struktuuri määratlemine
Alustame kõigepealt HTML-lehekülje läbimisest ja stiili kasutades mõningaid CSS-reegleid. Ma jätan enamiku ebatavalistest metakoodidest üle päises, kuna need ei mõjuta veebirakendust otse. Siiski on mõned, mida ma peaksin mainima, nimelt alljärgnevalt:
X-UA-ühilduv kirjeldatakse, kuidas teie dokument peaks teatud brauserites muutuma. HTML5-s kodeerimisel on see huvitav stsenaarium, nii et ma ei muretse selle üle liiga palju. Kuid meta vaateava silt on väga oluline. See seab mobiilibrauseri akna standardsuurendatud efekti asemel 100% -ni.
Samuti on võimalik kasutaja suumi sisu väärtusega keelata kasutaja skaleeritav = ei
. Kuid sellisel juhul tahame lihtsalt seada täisekraani laiuse sama, mis meie seadme laius. Apple'i veebirakenduse sildid võimaldavad veebisaidil salvestada oma iPhone'i või iPod Touchi avakuva ikoonina. Mitte täiesti vajalik, kuid kindlasti väärt.
Sisekeha sisu
Keha sildi sees olen seadistanud ID-ga ümbrisdetaili #w
. Toas ma olen katkestanud paigutuse veel kaheks diviks, kasutades ID-sid #pagebody
ja #navmenu
. Kogu lehekülje laius on valikuliselt piiratud 640xx-ga, nii et paigutus kaalub rangele numbrile.
Menüü lingid
Navigeerimismenüüle antakse madalam z-indeksi väärtus, nii et #pagebody
on alati peal. See on ülioluline, kuna JavaScript-kood libiseb üle lehekülje korpuse teatud arvu piksleid, et paljastada navigatsioon allpool.
Olen kasutanud iga .html-lehekülje ees räsi- sümbolit (#), et peatada mobiilse Safari vähene käitumine. Kui klõpsate lingile, kuvatakse URL-i riba ja lükatakse sisu alla. ID-ga viitamisel ei laadita midagi uuesti peale JavaScript-kõnede kaudu.
CSS-i positsioneerimine
Meie CSS-koodi sees pole palju segadust tekitavat sisu. Enamik positsioneerimisest toimub käsitsi ja seejärel manipuleeritakse jQuery kaudu. Kuid meie dokumendis on mõned huvitavad tükid.
/ ** @grupi põhikeha ** / #w #pagebody positsioon: suhteline; vasakul: 0; maksimaalne laius: 640px; min-laius: 320 px; z-indeks: 99999; #w #navmenu taust: # 475566; kõrgus: 100%; kuva: plokk; asend: fikseeritud; laius: 300 px; vasakule: 0px; top: 0px; z-indeks: 0;
See ülemine segment määratleb stiili mõlema lehekülje osas. Meie nav menüü on ainult 300xx lai, nii et see jätab natuke ruumi lehekülje sisu vaatamiseks. Avatud / sulgev menüünupp asub ka otse vasakul küljel ja alati kättesaadav. Oluline osa on z-indeksi omaduste väärtus ja kasutamine asend: fikseeritud;
meie navmenus.
Ülemine tööriistariba päis on ka huvitav osa. See on seatud fikseeritud asendisse, et see keriks lehekülje sisuga. See kordab sarnast efekti, kui leiad mis tahes iOS-i rakenduse tiitliribal.
/ ** @grupi päis ** / #w #pagebody header # toolbarnav display: block; asend: fikseeritud; vasakule: 0px; top: 0px; z-indeks: 9999; taust: # 0b1851 url ('img / tabbar-solid-bg.png') üleval vasakule kordamata; raadius: 5 px; -moz-border-radius: 5 px; -webkit-border-radius: 5px; -o-raadius: 5 px; piir-alumine-parem raadius: 0; -moz-border-radius-bottomright: 0; -webkit-border-bottom-right-radius: 0; piir-alumine-vasak-raadius: 0; -moz-border-radius-bottomleft: 0; -webkit-piiri-alt-vasak-raadius: 0; kõrgus: 44px; laius: 100%; maksimaalne laius: 640px; #w #pagebody header # toolbarnav h1 text-align: center; polster-top: 10px; polsterdus-parem: 40px; värv: # e6e8f2; fondi kaal: rasvane; fondi suurus: 2.1em; teksti-vari: 1px 1px 0px # 313131;
Mobiilreeglid
On lihtne märgata, et kasutan ka sinise päisriba tekstuuri taustapilti. See on suurusega 640 × 44 pikslit, et säilitada järjepidev paigutusstruktuur. Aga olen ka välja töötanud pildi @ 2x iPhone / iPad võrkkesta kuvamiseks. Te võite näha mõlemat allpool olevat pilti või haarata need minu demo lähtekoodi alt.
- System/demo/img/[email protected]
- System/demo/img/[email protected]
Seadistan selle funktsiooni jaoks mobiilse CSS-i teisele nimega failile vastus.css. See sisaldab kahte meediaküsimust, mis asendavad pealkirjariba bg ja võrkkesta seadmete menüünupu ikooni.
/ ** võrkkesta kuvamine ** / @ media only screen ja (-webkit-min-device-pixel-ratio: 2), ainult ekraan ja (min - moz-device-pixel-ratio: 1,5), ainult ekraan ja ( min-device-pixel-ratio: 1.5) #w #pagebody päis taust: # 0b1851 url ('img/[email protected] ') üleval vasakul kordamata; tausta suurus: 640px 44px; #w #pagebody header # menu-btn taust: url ('img/[email protected] ') korduv; tausta suurus: 53px 30px;
Menüü noolte kujundamine
Navigeerimisalal olen lisanud ka väikese noole ikooni iga menüü linki paremale küljele. Seda saab kergesti asendada mis tahes loomingulise kommunaalteose kujutisega. Kuid enamasti armastavad seda meetodit katsetada kõik CSS3 aficionad.
#w #navmenu ul li a :: pärast sisu: "; kuva: plokk; laius: 6 pikslit; kõrgus: 6 pikslit; parempoolne: 3px tahke # d0d0d8; ääris-top: 3px tahke # d0d0d8; : 30px, top: 45%; -webkit-transform: rotate (45deg); -moz-transform: rotate (45deg); -o-transform: pööra (45deg); transform: pöörake (45deg); #w #navmenu ul li a: hover :: pärast border-color: # cad0e6;
Me kasutame teisendada
vara pärast sisu loomist. Ma seadistan ka positsioon: absoluutne;
nii et me saame neid piire vabalt sisemise lingi elemendi ümber liigutada. See on ülimalt lihtne piirata värvi hover olek, mis pakub rohkem dünaamiline tunne. See on päris uskumatu, mida saab teha lihtsalt HTML5 ja CSS3 põhireeglitega.
Aga nüüd liigume JavaScript-koodi bitidesse ja tükkidesse. Pea meeles, et see nõuab, et jQuery raamatukogu lisaks oma koodi õigesti töötama.
jQuery Animeeritud
Nende kohandatud koodide kirjutamisel olen loonud uue nimega dokumendi script.js. Julgelt kirjutage need otse >