Salve, scusate per il titolo ambiguo ma ho diverse domande da fare e non sapevo bene
come renderle tutte.
Oggi provando a "giocare" un po' coi CSS, mi son reso conto che non ho ancora chiara
la differenza d'uso tra ID e CLASS.
Volevo fare un box con gli angoli arrotondati e sfondo gradiente e poi utilizzarlo come
header. Ho creato 3 immagini:

codice:
corner_header_left.gif (10px * 120px)
corner_header_right.gif (10px * 120px)
header_background.gif (1px *120px)
A questo punto ho dato le seguenti regole:

codice:
#header {
	width: 768px;
	height: 120px;
	background: url(../media/header_background.gif) repeat-x;
}

#header #corner_header_left, #corner_header_right {
	width: 10px;
	height: 120px;
}

#header #corner_header_left {
	float: left;
	background: url(../media/corner_header_left.gif) no-repeat;
}

#header #corner_header_right {
	float: right;
	background: url(../media/corner_header_right.gif) no-repeat;
}
La resa grafica funziona con firefox >=1.5 ed explorer >=6, tuttavia scrivendo il markup,
mi sono chiesto: avrò fatto bene ad usare #corner invece di .corner? In effetti nei fogli
di stile racimolati in giro ho visto più spesso utilizzare classi innestate ad un unico div
padre (in questo caso header). C'è anche da dire che molto probabilmente non riutilizzerò più
quegli stili una volta terminato l'header; insomma che fare? Come faccio a scegliere se usare
una classe o un #ID? Cosa cambia al lato pratico? Cosa è buona norma fare?

Altra questione:

Finito l'header mi son deciso a piazzarci un logo: si tratta di un'immagine png (infatti ho
problemi con la trasparenza in IE6). Potenzialmente avrò anche altre immagini dentro
l'intestazione e quindi vorrei evitare di usare una cosa tipo:

codice:
#header img {
     ....
}
e mi sono deciso ad usare:

codice:
#logo {
	float: left;
	width: 200px;
	height: 80px;
	margin-top: 20px;
	margin-right: 0;
	margin-bottom: 0;
	margin-left: 65px;
}
Ho fatto bene? A questo punto mi trovo ad avere nel markup un div che contiene solo
un tag img, è sprecato? C'è un altro modo di procedere? Mettendo l'immagine nel CSS
come background perdo in accessiblità giusto? Non posso più impostare ALT e TITLE,
però riuscire ad utilizar il workaround per avere trasparenza in IE6...insomma aiuto.
Mi piace un sacco lavorare con i CSS, ma devo dire che è frustrante mantenere la propria
creatività imbrigliata alla difficoltà di mantenere il proprio lavoro, valido, accessibile, ben
degradabile e compatibile nei vari browser.