La risoluzione giusta per un sito web

Analisi delle ultime statistiche sulle risoluzioni più utilizzate e consigli per la creazione del layout ideale.

Website mockup

Quello della risoluzione migliore per un sito web è un problema spesso sottovalutato. Negli ultimi anni la situazione si è semplificata visto l’ormai definitivo tramonto dei siti ad 800×600, ma questo non mette al riparo da possibili scelte sbagliate.

Le statistiche aggiornate

Secondo il report aggiornato a Dicembre 2008 di Net Applications, 1024×768 resta la risoluzione più diffusa con il 37%, e lo sarà ancora per diverso tempo.

Seguono valori più elevati, da 1280×960 (20%) a 1280×1024 (13%), per poi passare a risoluzioni ancora maggiori.

Una piccola curiosità: la risoluzione più bassa dopo 800×600 (4.49%) è quella di Safari su iPhone, 320×396 pixel (0.53%), importante segno dell’evoluzione del settore mobile.

Le altre combinazioni esistenti sono innumerevoli, soprattutto con l’avvento dei monitor widescreen, e proprio per questo realizzando un sito web è necessario valutare tutte le possibili situazioni.

Le dimensioni della finestra del browser

Un altro fattore difficile da valutare è quello della dimensione della finestra del browser. Pensate alle vostre abitudini: la tenete sempre a tutto schermo? La risposta in genere dipende dal monitor, io dove lavoro, con un monitor a 1280×1024 ho il browser a tutta pagina, ma questo non succede a casa su una risoluzione di 1680×1050 pixel.

Non è detto quindi che i dati ricavati dalle statistiche corrispondano alla situazione reale: un utente con un grande monitor difficilmente terrà la finestra del browser a tutto schermo.

Le percentuali cambiano anche a seconda del sistema operativo. Gli utenti Mac si comportano diversamente da quelli Windows, come era emerso da questo interessante sondaggio di Roger Johansson. Su Mac Os infatti si è più portati a non massimizzare le finestre.

I problemi con l’alta risoluzione

Avere come target un’ampia gamma di alte risoluzioni è comunque un problema da considerare. Questi sono i principali errori da evitare:

  • Layout a larghezza fissa allineati a sinistra
  • Layout fluidi senza max-width, con aree di testo molto estese in orizzontale o font-size troppo piccolo.

I siti allineati a sinistra possono andare bene fino ad una certa risoluzione, ma su monitor particolarmente grandi l’utente sarà portato a guardare solo un lato dello schermo. E’ una soluzione alternativa, che però mi sento di sconsigliare. Molto meglio mantenere l’allineamento centrale.

I layout fluidi sono più difficili da curare nei dettagli e presentano un grave problema di leggibilità se non controllati a dovere. A risoluzioni particolarmente elevate infatti i blocchi di testo rischiano di diventare troppo lunghi e faticosi da leggere.

Come scegliere il layout migliore

La prima cosa da fare rinnovando la grafica di un sito esistente è guardare le statistiche dei propri visitatori. I dati globali della rete hanno ben poca importanza rispetto a quelli dei vostri utenti e del target che vi siete prefissati. Potete usare le statistiche generali per capire quale sia l’andamento, riportandolo alla vostra esperienza.

Se invece state realizzando un nuovo sito, una larghezza minima intorno ai 960 pixel è la base di partenza ideale. A voi la scelta se utilizzare un layout a larghezza fissa, uno fluido, o addirittura uno elastico (anche se potrebbe essere giunto il momento di abbandonarli).

La soluzione a larghezza fissa in generale è quella più sicura, ma anche la più scontata. Una interessante via di mezzo si ottiene sfruttando il background della pagina per riempire lo spazio altrimenti vuoto. In questa galleria di Web Designer Wall ci sono degli ottimi esempi.

Nel caso invece vogliate un layout fluido, ricordate di impostare sempre una larghezza minima ed una massima, oscillando ad esempio tra i 900 ed i 1400 pixel.

Conclusioni

Queste indicazioni vogliono essere semplicemente un consiglio, non esistono verità assolute. In generale i layout a larghezza fissa sono sempre i più diffusi soprattutto per la facilità di realizzazione e le possibilità di controllo della struttura. Se però volete mettervi alla prova con un layout fluido, i vostri utenti potrebbero apprezzare un sito che si adatta alle loro abitudini.

Quali sono le vostre abitudini? Preferite un determinato tipo di layout o cambiate scelta a seconda delle situazioni? Dite la vostra per condividere pratiche e suggerimenti.

[Web Design Concept – Immagine di Shutterstock]

Addio layout elastici?

Pro e contro dei layout con misure definite in em. Sono ancora validi o non vale la pena spendere tempo e risorse per realizzarli?

I layout elastici sono definiti in questo modo per la loro capacità di adattarsi alle dimensioni del testo di una pagina. Ingrandendo i caratteri cambiano tutte le dimensioni di conseguenza: questi layout sono infatti definiti interamente in em, unità di misura relativa. Per chiarirvi le idee potete trovare un esempio pratico su CSS Zen Garden.

Chi ha realizzato un layout elastico sa quanto lavoro comporti, ma come sempre prima di cimentarsi in pratiche dispendiose è sempre bene valutarne pro e contro.

Conviene ancora realizzare siti interamente in em?

La domanda sorge da un dato di fatto: tutti gli ultimi browser offrono la possibilità di ridimensionare le pagine con un effetto zoom. In questo modo anche i layout a larghezza fissa non presentano grandi problemi, ancora meno le altre tipologie.

I layout elastici hanno sempre avuto la fama di essere accessibili e utili per l’utente che desidera personalizzare la dimensione dei caratteri, ma allo stato attuale l’unico browser che ottiene un vantaggio netto da questo tipo di design è Internet Explorer 6.

Mettendovi nei panni di un utente con problemi di vista o con la necessità di ingrandire il testo, cosa fareste? Molto probabilmente usereste un browser con la possibilità di zoomare le pagine, o un ingranditore di schermo, non IE6. E’ così assurdo come ragionamento? Non credo.

Per questo i layout in em ormai si stanno avviando verso l’estinzione. Considerando anche i tempi di sviluppo ed il rapporto costi/benefici, ormai non conviene più realizzare siti simili, a meno che non si abbia un ampio target di utenti utilizzatori di Explorer 6. Non esistono certezze assolute, ma a distanza di 5 anni dallo storico articolo di A List Apart sui layout elastici, è ormai tempo di metterli da parte per la maggior parte dei casi, tenendoli comunque presenti per le necessità impreviste.

Layout a tabelle con i CSS

Con Internet Explorer 8 sarà possibile usare la proprietà CSS display:table. Cambierà qualcosa per i web designer?

Dopo aver abbandonato l’uso delle tabelle per il layout, in questo periodo si sta tornando a parlare del loro utilizzo in forma diversa: non più all’interno del codice HTML, ma con la proprietà display dei CSS.

Come fa notare Digital Web Magazine, con l’imminente uscita di Internet Explorer 8 questa proprietà supporterà correttamente i valori table, table-row e table-cell per la prima volta su un browser Microsoft. Le ultime versioni di Safari, Opera e Firefox seguono già gli standard e non dovrebbero avere alcun problema.

Come funziona la tecnica?

Basta realizzare una semplice struttura nel codice HTML con dei div:

<div id="main">
<div id="nav">
...contenuto della colonna
</div>
<div id="content">
...contenuto della pagina
</div>
</div>

Quindi è sufficiente applicare gli stili relativi, facendo in modo che il contenitore principale abbia un display: table, e le singole colonne un display: table-cell:

#main {
display: table;
border-collapse: collapse;
}
#nav {
display: table-cell;
width: 180px;
}
#content {
display: table-cell;
width: 580px;
}

Da notare che una tecnica simile dal punto di vista della semantica del codice non presenta alcuna controindicazione. L’aspetto tabellare infatti viene gestito interamente tramite i fogli di stile, il markup è ben organizzato e non ha particolari differenze rispetto a quello di un layout con i float.

Incompatibilità e difetti

Per ogni nuova tecnica è fondamentale considerare quanto essa sia realmente applicabile. Nel caso dei layout a tabelle con i CSS, uno dei punti deboli è sicuramente il mancato supporto di IE6 e IE7. Non poter usare questa soluzione sui due browser che da soli rappresentano più del 70% del mercato, la rende di fatto inutilizzabile: al momento è poco più che esercizio di stile.

Un altro aspetto poco considerato è l’ordine dei contenuti all’interno del codice HTML. Con questa tecnica si ripresenta uno dei difetti principali delle tabelle: l’impossibilità di organizzarli secondo la loro importanza. Usando un layout tabellare tutti i vantaggi del posizionamento con i float spariscono, dovendo per forza di cose ordinare gli elementi secondo il loro ordine di apparizione nella pagina.

Se volete continuare ad approfondire il discorso, vi rimando ad un post di Edit di qualche settimana fa. Dal mio punto di vista, potrebbe essere interessante sperimentare la tecnica per il futuro, ma con qualche riserva. Sarà infatti possibile usarla quando IE6 e IE7 spariranno dalla circolazione, ma i CSS3 saranno ormai alle porte con nuove soluzioni per gestire il layout di un sito.

Falso Posizionamento Assoluto

Alla scoperta di un nuovo modo di costruire layout CSS, senza float e posizionamenti assoluti.

A List Apart ha pubblicato un articolo che propone una nuova tecnica di posizionamento con i CSS, chiamata Faux Absolute Positioning. In pratica è un’alternativa ai due metodi più diffusi, il posizionamento con i float e quello assoluto.

Le ragioni della ricerca di un nuovo metodo per la realizzazione di layout CSS sono nella necessità di risolvere problematiche complesse e non così frequenti: si parla di siti dinamici, dove gli utenti possono magari decidere la posizione degli elementi nella pagina, con tutte le difficoltà che ne derivano.

Proprio per questo la tecnica del Falso Posizionamento Assoluto cerca di unire i pregi dei metodi conosciuti, eliminandone i difetti. In realtà non esattamente così, ma approfondiamo l’analisi per capire meglio.

La tecnica

Il codice HTML utilizzato deve servire a costruire una struttura a griglia, con linee orizzontali ed item (che rappresentano le colonne), in questo modo:

<div class="line">
<div class="item" id="item1">
<p>contenuto</p>
</div>
<div class="item" id="item2">
<p>contenuto</p>
</div>
<div class="item" id="item3">
<p>contenuto</p>
</div>
</div>

Sulla tecnica originale è presente un altro div intorno al contenuto, ma ai fini del layout non è rilevante.

Il CSS relativo invece è il seguente:

.line {
float: left;
width: 100%;
display: block;
position: relative;
}
.item {
position: relative;
float: left;
left: 100%;
}

Infine per posizionare ogni item, serve una dichiarazione come questa:

#item1 {
margin-left: -100%;
width: 20%;
}

In pratica per ogni item la posizione viene assegnata tramite un margin-left negativo. Per chiarirvi le idee, ho realizzato un esempio di layout a 3 colonne costruito in questo modo.

Considerazioni

Il vantaggio della tecnica è che ogni elemento viene posizionato facendo riferimento ad un punto ben preciso, cioè il margine destro del layout. Questo è un punto di forza preso direttamente dal posizionamento assoluto, con il vantaggio che gli elementi non vengono estratti dal normale flusso del codice, ed inoltre il contenuto continua a definirne l’altezza, cosa che non succede utilizzando i float.

Il risultato è stabile, rimane valido sia ingrandendo il testo che ridimensionando la finestra, e funziona su tutti i browser senza richiedere nessun hack, nemmeno per IE6.

Sembrerebbe un’ottima soluzione quindi, ma i difetti non mancano. Il più evidente è il gran numero di div utilizzati: se dovete realizzare un layout semplice a 2 o 3 colonne, non usate questo metodo e magari seguite gli esempi di Layout Gala di Alessandro Fulciniti.

Un altro problema riguarda le unità di misura, che devono essere sempre le stesse per posizionare gli elementi. Non potrete combinare percentuali, em, e pixel.

In conclusione, non vedo molte applicazioni per questa tecnica nel lavoro di tutti i giorni, ma per particolari esigenze potrebbe essere un’alternativa da considerare. Tenetela presente per i momenti di difficoltà, almeno finchè non arriveranno i CSS3 con il modulo per i layout a colonne.