Newsgroup: it.comp.www.html
Titolo: Codice corretto e strategie con XHTML 1.0 STRICT

Scrivendo da poco in html per il mio sito web e volendo utilizzare le "DTD
XHTML 1.0 STRICT" oppure "HTML 4.01 STRICT" il segente tag ovviamente non è
valido :
<hr width="85%" align="center"/>
Supponiamo che nella mia pagina voglia utilizzare alcune barre di
separazione ma non tutte della solita lunghezza (es. 80%, 50% e 100%)
quale è la strategia migliore per ottimizzare il codice html e css.
Ho riportato questo esempio ma il problema potrebbe essere applicato ad
altri tag.
Saluti
Antonio


Ciao nucleo,
    la centratura orizzontale è un problema con i css, dato che IE non supporta
i margini orizzontali pari ad "auto" e richiede che l' elemento da centrare
orizzontalmente sia inserito in un contenitore con "text-align: center".
La soluzione x la centratura compatibile con tutti i browsers:
<div style="text-align: center">
    <hr style="width: 85%;margin-left: auto; margin-right: auto">
</div>
Ma se si tratta di centrare orizzontalmente un elemento con larghezza percentuale,
molto + semplicemente si può fare così:
<hr style="margin-left: 10%; margin-right: 10%">
In questo caso è largo 80% (anche se non dichiaro la larghezza.. è implicita dato che
vanno tolti i margini orizzontali)  e verrà centrato anche su IE senza aggiungere elementi
extra. Scritto con codice in linea, ma a lavoro finito ti conviene fare delle classi e spostare
gli stili in un css esterno.
Ciao,
    Alessandro Fulciniti

 ti conviene fare delle classi e spostare gli stili in un css esterno.
A parte tutti gli aspetti tecnici IE e non IE, nell'ultima frase è
sintetizzato uno degli aspetti principali per il quale ho postato sul NG e
dal quale scaturiscono i miei dubbi sul modo più efficiente da utilizzare
per scrivere pagine con i fogli di stile.
Ho avuto modo di apprendere che le linee guida per scrivere pagine di stile
css sconsigliano di utilizzare codice in linea.
Secondo quanto affermato, se per esempio nelle mie pagine ho necessità di
avere tag per allineare del testo a destra al centro e a sinistra,  sono
costretto a specificare nel css esterno delle classi per tutte e tre le
formattazioni ? e se devo applicarli a due stili di font diversi allora
sono costretto a dichiare sei classi (tre per ogni font) ?
saluti
Antonio

 sono costretto a dichiare sei classi (tre per ogni font) ?
Ciao Antonio,
    in realtà la questione è un po' + ampia e non solo limitata alle classi.
In una pagina html reale è difficile pensare che ci sarà bisogno di due classi
sui font e tre per l' allineamento. Si dovrebbe ricorrere all' uso delle classi
solo in determinati e pochi casi... ci sono tanti altri modi di scrivere le regole
css, tra cui i selettori di tipo, di id e discendente.
Usare fogli di stile esterni serve per separare bene html e css. Metterli in linea
significa dover editare sia l' html che i css se vogliamo cambiare qualcosa a livello
di presentazione a lavoro finito. Inoltre scrivere l' html e il css esterno in una fase
contemporanea o successiva ci aiuta anche a strutturare bene il codice html,
se teniamo ben presente che non esistono solo le classi, anzi: dovrebbero
essere a parer mio una tra le ultime alternative, anche se nel caso di un hr
è accettabile che ci siano due o tre classi se veramente ce n'è la necessità.
Ciao,
    Alessandro Fulciniti