Come test di base sui form, si è scelto di utilizzare un semplice modulo di ricerca tramite Google. In questo primo
test si sono applicati degli stili solo agli elementi form, fieldset e legend. Il codice
fino ad ora utilizzato è il seguente:
body {
margin: 0;
padding: 0;
background: #f8f8ee;
color: #000;
font: 76% Verdana, Geneva, Arial, Helvetica, sans-serif;
text-align: center;
}
form {
margin: 10em auto;
padding: 0;
width: 60%;
background: transparent;
text-align: left;
}
fieldset {
margin: 0;
padding: 0;
}
legend {
font-weight: bold;
margin: 0;
padding: 0;
}
Anche con un codice così elementare, le differenze fra browser sono notevoli. Riassumendo:
fieldset. Firefox tende ad unire il bordo superiore sinistro
con il testo presente nell'elemento legend, mentre Internet Explorer ed Opera lo distanziano di qualche pixel, creando un rientro. Questo avviene nonostante
i margini ed il padding siano stati completamente azzerati.border: 1px dashed #000; all'elemento fieldset. Il bordo trapassa il
testo all'interno dell'elemento legend. Applicando uno stile solid al bordo il problema non si presenta.label ed input. Firefox allinea il testo di label esattamente con il testo presente
nell'elemento input, mentre Internet Explorer ed Opera lo allineano più in basso.input.form influenzi il posizionamento degli
elementi al suo interno? In questo esempio
non vi è alcuna dichiarazione di larghezza per l'elemento form.La difficoltà principale dell'applicazione di stili ad un form (modulo) sta appunto in una assoluta disparità di interpretazione da parte dei browser, dovuta al calcolo differente delle relazioni esistenti fra gli elementi di default, ovvero senza alcuno stile applicato. Prossimamente vedremo cosa accade posizionando gli elementi con i fogli si stile ed applicando loro delle regole più specifiche.