30 giugno 2009

Tre addon per firefox che miglioreranno il vostro lavoro

scritto daMauro Accornero

Facendo una stima dei programmi più usati durante il lavoro, mi sono reso conto che il passaggio tra browser, editor e programmi di grafica è la principale perdita di tempo e che può essere facilmente ridotta con tre semplici addon per firefox.

Firebug

E’ l’addon più gettonato di sempre, velocizza il lavoro e la verifica permettendo di analizzare nel dettaglio la pagina html, il dom e javascript. Uno strumento utile per html e css, permette infatti di analizzare un elemento della pagina e vedere quali regole sono attribuite e quali eredita. Per chi invece utilizza javascript mette a disposizione una comoda console che riporta errori e anomalie. Oltre a questo Firebug permette la modifica da browser dei css oltre ad una comoda rappresentazione del box model per valutare i parametri di ogni elemento. Uno strumento indispensabile quando si lavora con ajax anche se diventa eccessivo per la normale navigazione web.

link al sito del progetto

Web developer toolbar

Un ottimo addon dai molteplici utilizzi, consente di visualizzare separatamente javascript, css e html. Permette la modifica da browser di css e html con rendering immediato, analizza il peso della pagina fornendo un report sulle dimensioni dei files, compila automaticamente i campi di un form, valida pagine online e offline tramite il validatore w3c, permette l’anteprima a diverse risoluzioni e fornisce un righello per misurare in pixel ogni parte della pagina. Oltre a questo semplifica le normali operazioni da browser come disabilitare immagini o css e cancellare i cookie.

linka mozilla add-ons

Fireshot

E’ un addon per firefox che salva in formato png l’immagine del sito, ma non solo, permette l’aggiunta di note e commenti direttamente da browser salvando il tutto come immagine. L’opzione “capture entire page” permette di salvare un’immagine della pagina per intero e le opzioni di condivisione permettono di velocizzare la stampa, l’invio tramite mail o l’upload.

Link a mozilla add-ons

Tre ottimi strumenti per velocizzare il lavoro, se ancora non li usate non vi resta che provarli.

Tag: , ,

15 giugno 2009

Realizzare layout al 100% di altezza con i css

scritto daMauro Accornero

Molto spesso capita di dover realizzare layout fluidi, che a causa del molto contenuto debbano adattarsi in larghezza alle dimensioni del browser. In un precedente articolo abbiamo visto quanto sia semplice realizzare layout fluidi con una buona compatibilità tra browser.

Obbiettivo più complesso è invece realizzare un layout con altezza che si adatti al browser. Questa operazione sicuramente non troppo comune ha il pregio (e soprattutto il difetto) di limitare il contenuto nell’altezza della finestra del browser.

Diventa quindi una scelta poco consigliata per garatire l’accessibilità dei contenuto, tuttavia può tornare utile per specifiche richieste che richiedono di emulare un full screen tipico dei siti in flash.

Per raggiungere in nostro obbiettivo è indispensabile far sì che il div contenitore della pagina mantenga un’altezza pari all’altezza della finestra del browser.

Cosa non fattibile settando semplicemente l’altezza dell’elemento al 100%, ma richiede che l’elemento genitore abbia settata un’altezza e che l’elemento in questione abbia un posizionamento assoluto.

body{
margin:0;
padding:0;
height:100%;
}

#content{
height:100%;
width:100%;
position:absolute;
top:0;
left:0;
overflow:hidden;
}

Grazie a questi parametri l’elemento si estende su tutta l’altezza della pagina rimanendo fuori dal flusso tradizionale con un posizionamento assoluto. Vedi l’esempio.

Per aggiungere un footer al nostro layout sarà sufficiente ridurre l’altezza dell’elemento precedente di pari valore all’altezza del footer ricordando di settare un posizionamento assoluto con bottom uguale a 0.

#footer{
height:10%;
width:100%;
position:absolute;
bottom:0;
left:0;
overflow:hidden;
}

In questo modo il footer rimarrà attaccato al fondo della finestra del browser anche al resize da parte dell’utente. Vedi esempio.

Come ultimo esempio vediamo come rendere centrato e a larghezza fissa il nostro layout.

Iniziamo settando delle larghezze a larghezza fissa mentre per centrare gli elementi non utilizziamo i margini laterali settati su auto bensì la proprietà left:50% in aggiunta ad un margine sinistro negativo pari alla metà della larghezza dell’elemento.

#content{
height:90%;
width:960px;
position:absolute;
top:0;
left:50%;
margin-left:-480px;
overflow:hidden;
}

#footer{
height:10%;
width:960px;
position:absolute;
bottom:0;
left:50%;
margin-left:-480px;
overflow:hidden;
}

In questo modo otteniamo un layout a larghezza fissa centrato con altezza al 100% e footer adiacente al margine inferiore della finestra del browser. Vedi l’esempio.

Note:

Questa soluzione non è consigliata per siti complessi in quanto il posizionamente assoluto rende maggiormente complessa l’impaginazione dei contenuti e come detto all’inizio mette a repentaglio l’accessibilità dei contenuti a risoluzioni ridotte.

La proprietà overflow:hidden; è stata inserita negli elementi per evitare che al ridimensionamento della finestra del browser l’altezza del contenuto comprometta il layout  ma non è indispensabile per rendere l’altezza fluida.

Per far sì che il footer della pagina sia sempre adiacente al margine inferiore della pagina è possibile utilizzare solo il posizionamento assoluto con la proprietà bottom:0; senza ricorrere ad altezze in percentuale.

Le altezze in percentuale come le larghezze vengono renderizzate convertendo la dimensione in percentuale dell’elemento in pixel, può quindi accadere di avere uno spazio bianco tra due elementi (come #content e #footer) dato da un arrotondamento approssimativo, per risolvere questo problema è possibile utilizzare il background del body per non rendere visibile questo spazio. Nell’esempio si è settato volontariamente un sfondo bianco per rendere visibile questa problematica.

Tag: , ,

7 giugno 2009

44 esempi di layout a larghezza fissa da non perdere

scritto daMauro Accornero

Uno dei primi passi nella realizzazione di un buon sito web è la progettazione del layout. Normalmente questa è influenzata dalla quantità di contenuti di un sito, dal design della pagina e dall’usabilità dei vari elementi presenti.

Una volta definiti questi aspetti si può partire definendo una griglia per il nostro layout. Questo permettà di mantenere ordine e conformità grafica nelle varie pagine.

Per realizzare una griglia è necessario definire almeno tre dimensioni:

-Larghezza della pagina

-Numero di colonne

-Spaziatura tra i vari elementi

Larghezza della pagina

Per questa dimensione è consigliabile utilizzare una misura uguale o inferiore ai 960px che rappresenta l’area visibile dall’utente ad una risoluzione di 1024×768px con i diversi browser. La misura in realtà è di 968px ma viene arrotondata per comodità. Essendo la risoluzione minima più usata dagli utenti di 1024×768px garantisce un ottima compatibilità con i monitor degli utenti.

Numero di colonne

Il numero di colonne deve essere definito in base alla quantità e alla varietà di contenuti del sito. E’ utile ricordare che un minor numero di colonne lascerà più spazio per immagini e grafiche mentre un numero eccessivo renderà il contenuto difficilmente leggibile. Bisogna sempre valutare a priori quale soluzione sia opportuna per un determinato contesto.

Spaziatura tra gli elementi

In qualunque contesto grafico è utile lasciare un minimo di spazio tra i contenuti per migliorare la leggibilità e soprattutto definire aree differenti con diversi elementi. Facendo attenzione che lo spazio sia proporzionale ai contenuti e non faccia prevalere il “vuoto” che porterebbe solo disturbo e confusione nella pagina. E’ utile ricordare che una volta definita una spaziatura è opportuno mantenerla su tutto il sito per garantire una migliore leggibilità all’utente.

Viste queste premesse ho creato 44 esempi di layout a larghezza fissa da 960px con differente numero di colonne e differenti spaziature. Gli esempi sono visibili su questa pagina.

Tag: , , ,

1 giugno 2009

Realizzare una semplice galleria immagini con jquery

scritto daMauro Accornero

Realizzare una galleria immagine è un’operazione abbastanza comune per il buon web designer, di norma la sfida più grande consiste nel rinnovarsi e nell’aggiungere un approccio creativo ai vari progetti.

Per trovare una facile applicazione alle soluzioni più creative ci viene incontro jquery che mette a disposizione numerosi effetti e semplifica notevolemente l’utilizzo di javascript.

Vediamo come realizzare una semplice galleria di immagini in pochi passi.

Per prima cosa creiamo la nostra pagina html ed inseriamo all’interno un div con i relativi contenuti (nel nostro caso le immagini della galleria).

<div id="contenitore">
 <div><img src="images/1.jpg" alt="Immagine 1" /></div>
 <div><img src="images/2.jpg" alt="Immagine 2" /></div>
 <div><img src="images/3.jpg" alt="Immagine 3" /></div>
</div>

Una struttura così semplice ci permetterà in seguito di creare alternative accessibili o per media che non supportano questa soluzione.

Fatto questo partiamo con jquery, come sempre iniziamo definendo la partenza dello script al caricamento della pagina con la funzione ready.

$(document).ready(function(){

});

Come seconda mossa definiamo un evento che porterà l’utente a vedere l’immagine successiva. Nel nostro caso il click sul div (o meglio sulla prima immagine visualizzata).

$(document).ready(function(){
$('div#contenitore div').click(function () { 

});
});

Ora possiamo definire il codice che farà scomparire l’immagine attuale e mostrerà l’immagine successiva

$(this).fadeOut(200, function() {$(this).next().fadeIn( 200);});

In questo modo definiamo un fadeOut sul div contenitore dell’immagine su cui abbiamo appena cliccato e definiamo come funzione di callback un fadeIn sull’immagine successiva.

Rimane un unico problema da risolvere, quando si arriva all’ultima immagine questa deve scomparire e far apparire la prima. Per risolvere utilizziamo un semplice if che valuterà se l’elemento cliccato è l’ultimo del div oppure no.

if ($(this).is(":last-child")) {
}else{
}

Per vedere lo script in funzione guarda questo esempio.

Tag: , ,