Izrada mobilne aplikacije / navigacija u zgradi s programom jQuery
Pametni telefoni sada su opremljeni nekim vrlo učinkovitim web-preglednicima. JavaScript je moćniji nego ikada prije i može se proširiti uz pomoć knjižnica koda, kao što je jQuery. Kada dodate najnovije specifikacije HTML5 / CSS3, moguće je izraditi vrlo lijepe mobilne web-aplikacije s nekim osnovnim kodom.
U ovom tutorialu pokazat ću vam kako možete izgraditi web-mjesto / webapp koji se temelji na mobilnim uređajima. Koristit ćemo CSS3 medijske upite za ciljanje određenih uređaja i razlučivosti zaslona. Plus malo jQuery pomaže u animiranju izbornika i učitavanju sadržaja vanjske stranice pomoću Ajax poziva. Čak i bolje, izgled se može čak i proširiti kako bi se ispravno prikazao u redovitim preglednicima radne površine kao što su Chrome ili Firefox.
- Demo uživo
- Izvorni kod
Definiranje strukture stranice
Počnimo prvo prelistavajući HTML stranicu i stilizirajući je pomoću nekih CSS pravila. Preskočit ću većinu neuobičajenih meta oznaka u zaglavlju jer ne utječu izravno na web-aplikaciju. Međutim, nekoliko bi ih trebalo spomenuti, i to iz donjeg isječka:
X-UA-kompatibilan koristi se za opisivanje načina prikazivanja dokumenta u određenim preglednicima. To je zanimljiv scenarij kodiranja u HTML5, tako da se ne bih previše brinuo o tome. Međutim, meta Početni prikaz Oznaka je vrlo važna. On postavlja prozor mobilnog preglednika na 100% umjesto standardnog zumiranog efekta.
Također je moguće onemogućiti zumiranje korisnika pomoću vrijednosti sadržaja korisnički skalabilan = nema
. No, u ovom slučaju samo želimo postaviti širinu punog zaslona da bude jednaka širini našeg uređaja. Oznake web aplikacija tvrtke Apple omogućit će spremanje web-lokacije kao ikone početnog zaslona na vaš iPhone ili iPod Touch. Nije posve nužno, ali svakako vrijedi imati.
Sadržaj unutarnjeg tijela
Unutar oznake tijela postavila sam omotač div s ID-om #W
. Unutra sam razbio raspored u još dva div-a koristeći ID-ove #pagebody
i #navmenu
. Širina cijele stranice je ograničena na 640px po izboru, tako da raspored se podudara sa strogim brojem.
Linkovi izbornika
Navigacijski izbornik dobiva nižu vrijednost z-indeksa tako da #pagebody
uvijek je na vrhu. To je presudno jer će JavaScript kôd preći preko tijela stranice određeni broj piksela da bi se otkrila navigacija ispod nje.
Upotrijebio sam simbol raspršivanja (#) ispred svake .html stranice kako bih zaustavio neko loše ponašanje u Mobile Safariju. Kad god kliknete na vezu, pojavit će se traka URL-a i gura sadržaj prema dolje. No, kada referencirate ID, ništa se ne učitava, osim kroz JavaScript pozive.
CSS pozicioniranje
U našem CSS kodu nema puno zbunjujućeg sadržaja. Većina pozicioniranja se obavlja ručno, a zatim se njome manipulira kroz jQuery. Ali u našem dokumentu postoji nekoliko zanimljivih primjeraka.
/ ** @group osnovno tijelo ** / #w #pagebody position: relative; lijevo: 0; max-width: 640px; min-width: 320px; z-indeks: 99999; #w #navmenu pozadina: # 475566; visina: 100%; prikaz: blok; položaj: fiksno; širina: 300px; lijevo: 0px; vrh: 0px; z-indeks: 0;
Ovaj najviši segment definira stilove za oba dijela stranice. Naš navigacijski izbornik ima širinu od samo 300 piksela, što ostavlja malo prostora za sadržaj stranice da se i dalje može vidjeti. Gumb izbornika za otvaranje / zatvaranje također se nalazi izravno s lijeve strane i uvijek dostupan. Važan dio ovdje je vrijednost svojstva z-indeksa i korištenje položaj: fiksno;
na našem navmenu.
Glavna zaglavlja alatne trake također je zanimljiv dio. Ovo je postavljeno na fiksnu poziciju tako da se pomiče sa sadržajem stranice. To replicira sličan učinak kao što biste ga pronašli u bilo kojoj naslovnoj traci aplikacije iOS.
/ ** @group zaglavlje ** / #w #pagebody header # toolbarnav display: block; položaj: fiksno; lijevo: 0px; vrh: 0px; z-indeks: 9999; pozadina: # 0b1851 url ('img / tabbar-solid-bg.png') gore lijevo bez ponavljanja; granični polumjer: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px; -o-granični radijus: 5px; border-bottom-right-radius: 0; -moz-border-radius-bottomright: 0; -webkit-border-bottom-right-radius: 0; radius: border-bottom-left-radius: 0; -moz-border-radius-bottomleft: 0; -webkit-border-bottom-left-radius: 0; visina: 44px; širina: 100%; max-width: 640px; #w #pagebody header # toolbarnav h1 text-align: centar; padding-top: 10px; padding-right: 40px; boja: # e6e8f2; font-weight: bold; veličina fonta: 2.1em; tekst-sjena: 1px 1px 0px # 313131;
Pravila za mobilne uređaje
Lako je primijetiti da također koristim pozadinsku sliku za plavu teksturu zaglavlja. To je veličine 640 × 44 piksela da bi se održala konzistentna struktura rasporeda. Ali sam također razvio sliku @ 2x za iPhone / iPad mrežnice. Možete vidjeti obje slike u nastavku ili ih zgrabite iz demo koda.
- System/demo/img/[email protected]
- System/demo/img/[email protected]
Postavio sam mobilni CSS za tu funkcionalnost u drugoj datoteci pod nazivom responsive.css. Sadrži dva medijska upita koja zamjenjuju naslovnu traku bg i ikonu gumba izbornika za mrežne uređaje.
/ ** retina display ** / @media samo zaslon i (-webkit-min-uređaj-piksel-omjer: 2), samo zaslon i (min-moz-uređaj-pixel-omjer: 1.5), samo zaslon i ( omjer min-uređaja-piksela: 1.5) #w #pagebody header background: # 0b1851 url ('img/[email protected] ') gore lijevo bez ponavljanja; veličina pozadine: 640px 44px; #w #pagebody header # menu-btn pozadina: url ('img/[email protected] ') nema ponavljanja; veličina pozadine: 53px 30px;
Dizajniranje strelica izbornika
U navigacijskom području također sam dodao malu ikonu strelice na desnu stranu svake veze izbornika. To se lako može zamijeniti slikom iz bilo kojeg umjetničkog djela. No uglavnom će svi ljubitelji CSS3 voljeti testirati ovu metodu.
#w #navmenu ul li a :: after content: "; display: block; width: 6px; height: 6px; border-right: 3px solid # d0d0d8; border-top: 3px solid # d0d0d8; pozicija: apsolutna, desna : 30px, vrh: 45%; -webkit-transform: rotirati (45deg); -moz-transform: rotirati (45deg); -o-transformirati: rotirati (45deg); transformirati: rotirati (45deg); #w #navmenu ul li a: hover :: after border-color: # cad0e6;
Koristimo transformirati
svojstvo za stvaranje male granice nakon sadržaja. Također sam namjestio položaj: apsolutni;
tako da možemo slobodno pomicati te granice oko unutarnje veze. Vrlo je lako promijeniti boju obruba na stanju lebdjenja, koje pruža dinamičniji osjećaj. Prilično je nevjerojatno što možete postići samo pomoću osnovnih pravila HTML5 i CSS3.
Ali sada ćemo se preseliti u bitove i dijelove JavaScript koda. Zapamtite ovo zahtijevaju uključivanje u jQuery knjižnicu kako bi moj kôd pravilno funkcionirao.
jQuery Animirani
U pisanju ovih prilagođenih kodova stvorio sam potpuno novi dokument pod nazivom script.js. Slobodno ih upišite izravno u >