Progetta e codifica un'app Facebook integrata HTML + CSS

Ben tornato! In questa parte del tutorial, codificheremo il nostro design in HTML e illustreremo alcune proprietà di stile CSS di Facebook che daranno quel tocco nativo. Quindi resta con me, preparati una tazza di tè e una buona programmazione!


introduzione

Benvenuto nella parte 2 del nostro design e codifica un'app nativa per Facebook. Nell'ultimo articolo abbiamo guardato dietro le quinte in alcuni dei processi di pensiero coinvolti nella creazione di un'app Facebook originale. Anche se non siamo andati molto dettagliatamente sull'effettivo design di esso in Photoshop; abbiamo discusso di come i principi di progettazione di Facebook possono aiutarti a progettare la tua app. Per il mio esempio ho scelto di ricreare il blog webdesigntuts + come app di Facebook. Suppongo che tu sia abbastanza comodo in Photoshop per averlo replicato o adattato per creare il tuo aspetto originale.

Cosa creeremo

In questa parte del tutorial, codificheremo quel disegno in HTML e illustreremo alcune proprietà dello stile CSS di Facebook che daranno quel tocco nativo. Quindi resta con me, preparati una tazza di tè e una buona programmazione!


Passaggio 1: non riuscire a prepararsi sta preparando a fallire

È sempre una buona idea iniziare con un po 'di pianificazione del futuro. Alcuni di voi vorranno progettare il proprio layout in Photoshop, mentre alcuni di voi che sono abbastanza sicuri vorranno passare direttamente dal wireframe al markup HTML / CSS. Personalmente mi piace sempre creare quello che ho intenzione di codificare in Photoshop, in quanto mi dà una forte idea visiva su ciò che sto per essere codificato. Può anche rivelarsi utile in futuro per quando vuoi aggiornare la tua app. Può essere molto più facile organizzare e concettualizzare le cose in Photoshop di quanto non possa essere nel tuo editor di codice.

A volte mi piace anche stampare il mio wireframe e segnare le dimensioni su di loro con una penna. Questo rende anche la vita più facile quando sto codificando le cose. Mentre prosegui sono sicuro che troverai i tuoi metodi e modi di fare le cose e una parte di esso è trovare il modo migliore per te.


Passaggio 2: Struttura dell'app

Il modo in cui ho strutturato la mia cartella è il seguente (e questo è praticamente il mio modo standard di impostare le cose per ogni progetto). Puoi risparmiare un sacco di tempo semplicemente creando questo modello di cartella vuota sul tuo disco rigido e copiandolo ogni volta che crei un nuovo progetto

  • css
  • js
  • immagini
  • index.html

Passaggio 3: markup HTML

     Progetta e codifica un'app Facebook integrata        

Impostazione del nostro include

Per questo progetto ho usato il doctype HTML5, che penso che la maggior parte di voi dovrebbe aver già provato. Per il mio reset dei CSS, ho collegato il ripristino dei CSS di Yahoo dalla loro libreria YUI. Se non hai familiarità con un reset CSS, nella sua forma più semplice può essere descritto come:

un foglio di stile per ridurre le incoerenze del browser in cose come altezze delle linee, margini e dimensioni dei caratteri delle intestazioni, ecc

Non ho intenzione di entrare troppo nei dettagli su questo in questo tutorial, ma puoi trovare maggiori informazioni a riguardo nella successiva sezione di lettura.

Dopo il reset, mi sono collegato al mio file CSS che ho chiamato "style.css". L'ho seguito poi con l'ultima versione di jQuery e un include nel mio file javascript che ho chiamato "myjava.js" (anche se creeremo questo file nella prossima parte del tutorial). Questo file ci permetterà di fare la nostra ricerca di filtri e modificare il contenuto delle nostre schede di pagina

Impostazione della nostra pagina

  

Mentre creo la versione html della nostra app di Facebook, vorrei mettere tutto in un wrapper largo 760px. Questo è solo per assicurarmi di rimanere entro 760px; la larghezza della tela su cui Facebook può collocare la tua app. Quindi rimuoverò questo wrapper e il CSS prima di inserirlo in Facebook.

Una volta impostati i nostri include e "wrapper", è ora di passare ai componenti principali della nostra app. In questo esempio è relativamente semplice dato che abbiamo solo i "maincontent" e le "sidebar" div. A questo applicheremo classi con lo stesso nome. Potresti, se lo desideri, utilizzare "id" anziché "classi" poiché queste istanze div non verranno ripetute. Tuttavia, qualcosa che scelgo sempre (anche se sono sicuro che alcuni non sarebbero d'accordo) è di usare le lezioni sulla maggior parte degli articoli. Uso raramente id. Trovo che, facendo ciò, sia semplice per me. Non devo mai chiedermi se ho dato qualcosa a un 'id' o a una 'classe'. Questo può essere particolarmente utile specialmente quando inizi a incorporare jQuery nelle tue app. Anche se consideri se sia fattibile prima di iniziare la codifica, non avrai sicuramente bisogno di usare id ovunque.

È inoltre consigliabile terminare sempre i blocchi di revisione con un commento di chiusura che indica quale parte del markup è terminata. In questo modo sai dove finisce ogni sezione. Devo ammettere che ero piuttosto in ritardo nell'adottare questa tecnica e con il senno di poi avrei potuto risparmiarmi molte ore di dover guadare la mia strada attraverso un mucchio di codice cercando di scoprire dove iniziano e finiscono alcuni blocchi.


Passaggio 4: Contenuto principale

 
webdesigntuts + logo
  • Tutti
  • Di
  • Scrivi per noi
  • Altri blog

Per questa app non pensavo fosse necessario usare un'intestazione solo per ospitare il logo, quindi l'ho messo in cima al div 'maincontent' nel proprio div con una classe chiamata 'logo'. Questo è seguito da una lista non ordinata per le schede. Ho dato alle schede un nome di classe di; sì avete indovinato "tabs". Questi agiranno come la nostra barra dei menu delle schede che visualizzerà le diverse pagine della nostra app del blog.

Le pagine della nostra app blog sono racchiuse in un contenitore div, che ho dato una classe di 'tab_container'. All'interno di questo ho quindi quattro div (uno per ogni scheda / pagina). Ho dato a tutti e quattro questi una classe chiamata 'tab_content' con ognuno che ha una sua classe per la sua posizione all'interno della pagina. La prima scheda ha una classe extra di 'tab1', la seconda 'tab2', la terza 'tab3' ecc. Questi singoli nomi di classe verranno usati per aiutarci a identificare ogni scheda nella prossima parte del tutorial quando implementeremo il jQuery.


Passaggio 5: post dei blog individuali

 

Progettare per, e come, una persona daltonica

da Connor Turnbull il 22 luglio 2011 con 2 commenti

Daltonismo è una lieve disabilità attraverso la quale l'esperienza interessata diminuisce la capacità di distinguere i colori dagli altri. Questo può essere un vero inconveniente per chiunque nel campo del design, poiché la teoria del colore è una caratteristica integrale del design di successo, e molte decisioni si basano sul sentimento e l'emozione derivate da?

Leggi di più 12 Mi piace 14 commenti Condividi

Il singolo post del blog ha una classe intitolata "post" e si trova nel div con la classe "tab1" poiché questa scheda si troverà nella pagina di destinazione predefinita. Questo contiene quindi diversi tag anchor e span che ci permetteranno di essere in grado di creare elementi come la data e l'autore del blog nel blu nativo a la facebook. Una volta che questo div "post" è stato completato, possiamo semplicemente copiarlo e incollarlo per il resto dei post. Non esagerare e intasare il codice, mantenerlo intorno a tre o quattro in quanto questo ci darà un'idea di come apparirà e sentire. Ho anche creato un intervallo con la 'linea' di classe che è semplicemente una linea orizzontale che useremo in tutta l'app.


Passaggio 6: altre schede della pagina

Le nostre altre schede Pagina sono costituite principalmente da tag h3, anchor e paragraph:

 

Di

Webdesigntuts + è un blog creato per presentare e presentare alcuni dei migliori tutorial e articoli sul web design. Pubblichiamo tutorial che non solo producono ottimi risultati e interfacce, ma spiegano le tecniche dietro di loro in modo amichevole e accessibile.

Il web design è un'industria in piena espansione con molta concorrenza. Speriamo che leggere Webdesigntuts + aiuterà i nostri lettori a imparare alcuni trucchi, tecniche e suggerimenti che potrebbero non aver visto prima e aiutarli a massimizzare il loro potenziale creativo!

Webdesigntuts + fa parte della rete Tuts +


Passaggio 7: il filtro di ricerca

 

Nella parte superiore della barra laterale abbiamo la ricerca del filtro del sito, che è composta da un semplice modulo. Lo renderemo operativo nella prossima parte del tutorial usando jQuery. Il modulo è quindi seguito da un'altra linea orizzontale e un testo span e paragrafo per visualizzare il conteggio "Mi piace".


Step 8: Facebook Mi piace e pulsante

 Sito web 
Disconnettersi

Fortunatamente per noi, Facebook ha reso semplicissimo inserire un pulsante simile nella nostra app. Puoi generare il codice per il tuo pulsante Mi piace o uno qualsiasi dei loro altri plug-in sociali sui Plugin per sviluppatori di Facebook. Una volta generato il codice, portalo nel tuo html. Si consiglia di aggiungere alcuni CSS per posizionarlo, tuttavia in questo caso non è necessario


Passaggio 9: Intestazioni di tabulazione

 
categorie
  • Campione Cat 1
  • Esempio Cat 2
  • Esempio Cat 3
  • Campione Cat 4
  • Esempio di gatto 5
Un po 'di noi

Se hai letto la prima parte di questo tutorial (se sei arrivato fino a questo punto immagino che tu abbia) allora mi avrai sentito parlare di riusabilità. Queste intestazioni di tabulazione definiscono questo più di ogni altra parte del nostro codice. Come con Facebook, riusciamo a riutilizzare queste intestazioni di tab e implementarle con estrema facilità. Sono davvero utili se si desidera aggiungere una sezione aggiuntiva rapida al sito.


Passaggio 10: il CSS

 Codice Blocco che mostra le intestazioni delle schede

Ora è il momento di passare allo stile del nostro HTML. Grazie allo stile semplice di Facebook non c'è molto CSS. L'ho suddiviso in parti per te da dare un'occhiata. In questa fase è anche importante sottolineare che Facebook può essere fastidioso quando si tratta di testare e modificare il tuo CSS in quanto lo memorizza nella cache, il che significa che quando carichi una nuova versione del tuo foglio di stile, il rendering rimane quello vecchio. Sebbene non perfetto; la soluzione che ho usato è stata quella di aggiungere "? version = 1" alla fine del foglio di stile incluso nel file di indice. Ogni volta che si aggiorna il CSS e si carica, è necessario aggiornare anche il numero di versione nel file di indice.


Passaggio 11: installazione

Iniziamo il CSS creando il wrapper e un paio di classi che aggiungo sempre per poter flottare gli oggetti a destra oa sinistra.

 / * ------------------------------------------------ -----------------------------------*/ /* Impostare /*-------- -------------------------------------------------- ------------------------- * / .wrapper width: 760px; height: 200px; margin-left: auto; margin-right: auto; padding-top: 20px;  .right float: right; / * Una classe che aggiungo sempre agli elementi mobili right * / .left float: left; / * Per rendere mobili gli elementi rimasti * /

Step 12: Building Blocks

I componenti principali per il nostro contenuto principale sono i seguenti:

 / * ------------------------------------------------ -----------------------------------*/ /* Impostare /*-------- -------------------------------------------------- ------------------------- * / .wrapper width: 760px; height: 200px; margin-left: auto; margin-right: auto; padding-top: 20px;  .right float: right; / * Una classe che aggiungo sempre agli elementi mobili right * / .left float: left; / * Per spostare gli elementi a sinistra * / / * --------------------------------------- --------------------------------------------*/ /* Costruzioni / * ------------------------------------------------ ----------------------------------- * / / * ----------- -------------------------------------------------- ---------------------- * / / * Tipografia / * --------------------- -------------------------------------------------- ------------ * / / * ---------------------------------- ------------------------------------------------- * / / * Schede / * -------------------------------------------- --------------------------------------- * / / * ------- -------------------------------------------------- -------------------------- * / / * Pulsanti / * ----------------- -------------------------------------------------- ---------------- * / / * ------------------------------ -------------------------------------------------- --- * / / * Componenti aggiuntivi / * --------------------------------------- -------------------------------------------- * /

Passaggio 13: tipografia

Probabilmente una delle parti CSS più importanti della nostra app di Facebook. Dagli questo errore e rovinerà l'effetto nativo della tua app. Dai un'occhiata a Facebook e scegli le dimensioni dei caratteri più adatte alle tue esigenze.

 / * ------------------------------------------------ ----------------------------------- * / / * Tipografia / * -------- -------------------------------------------------- ------------------------- * / a cursor: pointer; colore: # 3B5998; decorazione del testo: nessuna;  a: hover text-decoration: underline;  strong font-weight: bold;  em stile font: corsivo;  h3 font-size: 16px; font-weight: bold; line-height: 1.1em; margin-bottom: 5px;  .postInfo display: block; / * Gli span sono elementi in linea quindi è necessario cambiarli in modo che il margine funzioni * / color: # 808080; margin-top: 5px; margin-bottom: 10px;  p font-size: 12px; line-height: 1.5em; margin-bottom: 18px;  .line display: block; width: 100%; altezza: 1px; background-color: #ccc; margin-top: 5px; margin-bottom: 5px;  .more color: # 3B5998; font-weight: bold;  .likesCount font-size: 16px; font-weight: bold; 

Passaggio 14: schede

 / * ------------------------------------------------ ----------------------------------- * / / * Schede / * -------- -------------------------------------------------- ------------------------- * / ul.tabs margin: 0; padding: 0; fluttuare: a sinistra; stile elenco: nessuno; altezza: 19px; / * - Imposta l'altezza delle schede - * / border-bottom: 1px solid # E2E2E2; border-left: 1px solid # E2E2E2; larghezza: 100%; margin-bottom: 20px;  ul.tabs li float: left; margine: 0; padding: 0; altezza: 18px; / * - Meno 1px dall'altezza di ul - * / line-height: 18px; / * - allinea il testo all'interno della scheda - * / border: 1px solid # E2E2E2; margin-bottom: -1px; / * - Estrai la lista in basso 1px - * / overflow: hidden; posizione: relativa; sfondo: # f2f2f2; margin-right: 5px; min-width: 73px; text-align: center;  ul.tabs li: first-child / * - Rimuove il bordo sinistro dal primo figlio dell'elenco - * / border-left: none;  ul.tabs li a text-decoration: none; colore: # 333333; blocco di visualizzazione; font-size: 11px; padding-right: 5px; padding-left: 5px; contorni: nessuno;  ul.tabs li a: hover background: #fff;  html ul.tabs li.active, html ul.tabs li.active a: hover / * - Fa in modo che la scheda attiva non ascolti le proprietà hover - * / background: #fff; border-bottom: 1px solid #fff; color: # 3B5998;  ul.tabs li.active a color: # 3B5998; 

Passaggio 15: pulsanti

Un'altra parte integrante del CSS per le app di Facebook sono i pulsanti. Sono sicuro che vorrai usarne alcuni in giro per le tue app. Abbiamo creato questi non usando un pulsante, ma invece un tag di ancoraggio con una classe span al suo interno per l'immagine.

 / * ------------------------------------------------ ----------------------------------- * / / * Pulsanti / * -------- -------------------------------------------------- ------------------------- * / .button background-color: # ECEEF5; border: 1px solid # CAD4E7; text-decoration: none; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; imbottitura: 2px 3px 2px 2px; margin-right: 5px; . button: hover border: 1px solid # 9DACCE; text-decoration: none;  .buttonimage background: url (? /images/icon.png); colore: # 3B5998; blocco di visualizzazione; larghezza: 12px; altezza: 12px; margin-right: 3px; margin-top: 1px; margin-bottom: 1px; margin-left: 2px; 

Passaggio 16: Componenti aggiuntivi

 / * ------------------------------------------------ ----------------------------------- * / / * Componenti aggiuntivi / * ------- -------------------------------------------------- -------------------------- * / .logo width: 379px; altezza: 60px; margin-left: auto; margin-right: auto; margin-bottom: 26px; posizione: relativa; -moz-box-shadow: 0 14px 10px -12px rgba (0,0,0,0,7); -webkit-box-shadow: 0 14px 10px -12px rgba (0,0,0,0,7); box-shadow: 0 14px 10px -12px rgba (0,0,0,0.7);  .search padding: 1px 5px 2px 0; margin-bottom: 20px; larghezza: 240px; -webkit-box-dimensionamento: border-box; / * Safari / Chrome, altro WebKit * / -moz-box-dimensionamento: border-box; / * Firefox, altro Gecko * / dimensionamento della scatola: border-box; / * Opera / IE 8+ * / .tabHeader background-color: # F2F2F2; border-top: solido 1px # E2E2E2; imbottitura: 4px 5px 5px; margin-top: 15px; margin-bottom: 10px;  .profileimage float: left; margin-right: 5px; 

Conclusione?

Così ce l'abbiamo, ora abbiamo la nostra app di Facebook codificata in HTML / CSS. Spero ti sia piaciuto leggere questa parte del tutorial e ora hai una grande comprensione di come gli stili di Facebook possono essere tradotti in CSS. Osservando e utilizzando alcune delle proprietà CSS di Facebook siamo davvero in grado di capire come solo poche righe di codice nei posti corretti possano dare alla nostra app quell'aspetto e un aspetto nativo, che si inseriranno comodamente in Facebook e aderiscano ai principi di progettazione di Facebook.

Nella prossima parte del tutorial impareremo come implementarlo in Facebook come app nativa per il blog. Lo faremo utilizzando YQL e l'API di Facebook Graph. Ti mostrerò anche alcuni suggerimenti e suggerimenti per ravvivare la tua app con un po 'di bontà jQuery. Quindi, fino alla parte successiva, fa capolino un buon codice!


Ulteriori collegamenti e risorse

  • Design e codice Un'app integrata di Facebook - Teoria
  • Ripristino CSS di Eric Meyer
  • Facebook social plugin
  • La nostra app Webdesigntuts + su Facebook