Corsi on-line
Chiudi
Newsletter:
  • Seguici su Facebook
  • Seguici su Twitter
  • Seguici su Google+
  • Seguici via RSS
  • Seguici col tuo Smartphone

Form table-less con i CSS

Articolo scritto da Luca Ruggiero

L'impaginazione dei form (o moduli) HTML viene generalmente fatta con le tabelle HTML onde dar loro una forma gradevole ed ottimale in termini di spazio sulla pagina e di visibilità il più completa possibile sulla pagina.

I nuovi standard e le nuove filosofie di design delle pagine Web sconsigliano l'uso delle tabelle, ragion per cui un modulo non impaginato in una tabella potrebbe essere composto dal seguente codice HTML:

<form name="modulo" method="" action="">
    Nome<br>
    <input type="text" name="nome"><br>
    Cognome<br>
    <input type="text" name="cognome"><br>
    Email<br>
    <input type="text" name="email"><br><br>
    <input type="submit" name="invia" value="Invia i dati">
</form>
e produrre il seguente penoso aspetto:
Le tabelle sono ovviamente sconsigliate a favore dei semplici Tag testuali HTML corredati da opportuni codici CSS.

Allo scopo dobbiamo implementare un po di codice HTML aggiuntivo all'interno del modulo appena presentato:

<form name="modulo" method="" action="">
    <div class="FrmLabel">Nome</div>
    <div class="FrmInput"><input type="text" name="nome"></div>
    <div class="FrmLabel">Cognome</div>
    <div class="FrmInput"><input type="text" name="cognome"></div>
    <div class="FrmLabel">Email</div>
    <div class="FrmInput"><input type="text" name="email"></div>
    <div class="FrmSubmit">
        <input type="submit" name="invia" value="Invia i dati">
    </div>
</form>
Possiamo notare che le descrizioni testuali dei campi sono state corredate dalla classe "FrmLabel", i campi dalla classe "FrmInput" ed il pulsante di invio dalla classe "FrmSubmit".

A questo punto non ci resta che implementare il codice CSS, iniziando da una semplice stilizzazione degli elementi "div" ed "input" a cui assegnamo semplicemente lo stile e le dimensioni del testo:

div, input
{
    font-size: 12px;
    font-family: Verdana;
}
Passiao alla classe "FrmLabel" a cui assegnamo le dimensioni ed impediamo il ritorno a capo:
div.FrmLabel
{
    float: Left;
    width: 100px;
}
Alla classe "FrmInput", invece, lasciamo il ritorno a capo ma assegnamo le dimensioni e l'allineamento a destra dei campi:
div.FrmInput
{
    text-align: Right;
    width: 150px;
}
La classe "FrmSubmit" non differisce dalla precedente se non per il fatto che aumentiamo di un minimo il margine superiore, in modo da staccare il pulsante di invio dal resto del modulo:
div.FrmSubmit
{
    text-align: Right;
    width: 250px;
    margin: 10px 0px 0px 0px;
}
Il risultato è il seguente:
Rispetto alla versione precedente qualcuno nota qualche miglioria?

Corsi
Corso CSSCorso CSS
Web Design ed Accessibilità secondo il W3C con CSS ed XHTML. A partire da 29 €.
Corso HTMLCorso HTML
Il linguaggio di marcatura per il Web. A partire da 29 €.
Corso Webmaster AvanzatoCorso Webmaster Avanzato
Diventa un Webmaster professionista. A partire da 39 €.
Vedi anche...
Annunci

Mr.Webmaster

Pubblicità
Chi Siamo
Contattaci
Collabora
Note Legali
© 2003 - 2012 Mr.Webmaster - Il portale dei Webmaster Italiani - Tutti i diritti riservati | Powered by IKIweb Internet Media S.r.l. - PIVA 02848390122