Monthly Archive for novembre, 2009

Creare tabelle con div utilizzando i CSS

Proprio oggi cercavo una piccola guida da mostrare ad un mio collega su come creare layout grafici simili a tabelle ma con il solo utilizzo di elementi div. La persona a cui dovevo far leggere qualcosina su questo argomento non se la cava con l’inglese e pur troppo in rete la maggior parte delle informazioni relative a questo argomento sono proprio in questa lingua. Di seguito vorrei spiegare molto semplicemente (spero di farcela) come ottenere un layout di questo tipo. L’esempio che andrò a descrivere permette la creazione di una tabella a 4 colonne.
Prima di tutto dobbiamo progettare una serie di stili css che ci permettano di ottenere graficamente un aspetto tabellare per gli elementi divisori. Salviamo un nuovo foglio di stile con questo codice:

.tabella,
.riga,
.colonna { margin: 0; padding: 0; border: 0}
.tabella { display: table; width: 100%}
.riga { clear: both; display: block;
          display: table-row; width: 100%}
.colonna { float: left; width: 25%; display: table-cell}

Penso sia ovvio presuppore che per poter capire bene cosa sia scritto in queste poche righe è necessario avere una conoscenza di base relativa ai CSS (Cascading Style Sheets). Per poter ottenere un effetto tabella ho semplicemente costruito degli stili in cui ho fatto particolare attenzione all’impostazione della proprieta display. Questa, oltre agli attributi che generalmente siamo abituati ad utilizzare ne contiene anche altri molto particolari:

  • table: permette di visualizzare un elemento come un contenitore di tipo tabella.
  • table-row: permette di visualizzare un elemento
    come un contenitore di tipo riga (quindi, per logica, và inserito all’interno di un controllo che emuli una tabella)
  • table-cell: permette di visualizzare un elemento come contenitore di tipo cella (quindi, per logica anche qui, và inserito all’interno di un controllo che emuli una riga)

Vorrei ricordare che sono presenti anche altri attributi, ma ho pensato di elencare quelli più interessanti e che servono per raggiungere l’obiettivo preposto. Ora non ci rimane altro che richiamare il foglio css che abbiamo progettato all’interno della nostra pagina e qui disegnare una tabella a 4 colonne utilizzando semplicemente div, di seguito l’esempio in base al css:

Colonna 1
Colonna 2
Colonna 3
Colonna 4

Visualizzando un anteprima sul browser noterete come siano state create perfettamente 4 colonne con larghezza uguale (espressa in percentuale in base alla risoluzione dello schermo). Questo esempio vuole essere un piccolo aiuto perchè i layout realizzabili con questa tecnica sono infiniti! Pensiamo allo sviluppo di pagine che prevedono la compilazione di un numero elevato di campi, la scelta nel 99,9% dei casi ricade sempre sull’utilizzo delle tabelle, il chè ovviamente non è una buona idea se lo standard a cui vogliamo attenerci e W3C! Progettare un layout a div in questo modo rappresenta un’ottima soluzione, ma esistono anche altre strade in cui è richiesto un pò di studio inizialmente, ma successivamente si rivelano una comodità immensa!

Visual studio e IIS insieme

Ultimamente, mi sono ritrovato a dover lavorare in team e ho notato non poche difficoltà nel dovermi interfacciare con persone le cui abitudini sono completamente diverse dalle mie. Una delle peggiori è la pretesa di sviluppare un sistema web utilizzando come ambiente di test il Server Visual Studio Development. Idea sbagliatissima secondo me, non è concepibile che per dover testare un app devo avviare ogni volta il server web ed eseguire i test necessari ma ancor più brutto e non sapere che successivamente ci si troverà di fronte sorprese (errori e comportamenti anomali nell’applicazione) di cui proprio non se ne capiscono le cause.

La soluzione ottima a questo problema, secondo me, è utilizzare un server web ISS configurato nella macchina in cui si sviluppa. Questo predispone un ambiente “molto simile a quello reale”, in cui si potranno notare subito errori o mal funzionamenti per una “non corretta configurazione del server”, mentre con il Server Visual Studio Development questi problemi vengono messi da parte e nascono successivamente, quando l’applicazione entra in esercizio e, per quanto mi riguarda, è davvero frustrante dover risolvere anomalie velocemente e senza aver ben chiara la situazione. Premesso questo oggi voglio spiegare semplicemente come configurare un progetto si vs per poter essere avviato sfruttando il server web già attivo sul pc (è necessaria una conoscenza di base dei progetti vs e di IIS (Internet Information Services)).

  1. Configurazione del web server per il nostro progetto
    Supponiamo di avere un progetto nella cartella C:\wwwroot\mioprogetto, andiamo su “Pannello di controllo” → “Strumenti di amministrazione” → “Internet Information Service”. Da qui selezioniamo la voce root “Sito web predefinito” ed aggiungiamo una sotto directory scegliendo dal menu “Nuova” → “Directory virtuale…”, ci verranno richieste diverse informazioni tra le quali anche la location del sito, qui imposteremo proprio C:\wwwroot\mioprogetto”.
  2. Configurazione del progetto in visual studio
    Apriamo il nostro progetto che ovviamente si trova nella cartella impostata precedentemente, visualizziamo le proprietà di questo ed andiamo alla voce “Web”, alla voce “Server”, selezionare la voce Usa server Web IIS e in Url di progetto specifichiamo: http://localhost/<directory-virtuale>.
  3. Salviamo tutto e da ora in poi il nostro progetto è testabile utilizzando direttamente il server web evitando cosi l’uso di altre risorse di sistema e nello stesso tempo simulando un ambiente reale.