Newsgroup: it.lavoro.professioni.webmaster
Titolo: Sui CSS...

Ciao,
non ho ben chiara una cosa sui css, e cioč la differenza tra una classe e un
identificatore. Si, so che un identificatore si distingue dalle classi per
il fatto di identificare un elemento che sia unico all' interno del
documento, ma che vantaggi pratici ne ho?
Per esempio, per definire la testata di una pagina, spesso trovo:
 #testata {codice}
invece di:
.testata {codice}
io uso sempre il secondo, ma nella maggior parte dei siti usano il primo.
Sapete darmi una spiegazione pratica?
Grazie, ciao

 
bella domanda, è una cosa che non èp chiare nemmeno a me.. mi sto documentando...

 documento, ma che vantaggi pratici ne ho?
 Ciao Matteo,
    in sostanza l' id serve per identificare un univocamente un elemento unico
in una pagina, mentre le classi per definire una tipologia di elementi.
Generalmente gli id vengono usati per definire sezioni di una pagina, come
ad esempio un header. Gli id servono nella stragrande maggioranza dei casi
per definire la struttura di una pagina html.
Se gli elementi in una pagina html fossero persone, quelli che hanno un id
sarebbero quelli con un "documento di identità" mentre quelli che hanno
una classe associata avrebbero solo "la tessera di un circolo sportivo".
E' una questione logica, ma anche degli indubbi vantaggi pratici. Per esempio,
l' uso del selettore di id combinato con il selettore discendente consente di
scrivere agilmente regole per gli elementi in una data sezione:
#menu{
    /*ecc... */
    }
#menu a{
    /*questa regola css riguarda tutti i link all' interno
    del div con id="menu"  e solo quelli*/
    }
Spero sia un po' più chiaro, è un' aspetto importantissimo.
Ciao,
    Alessandro Fulciniti

 documento, ma che vantaggi pratici ne ho?
 Ciao Matteo,


 documento, ma che vantaggi pratici ne ho?
 Ciao Matteo,


 documento, ma che vantaggi pratici ne ho?
 Ciao Matteo,


SantaKlauss wrote:
Oops... scusate per il post multiplo.

     Alessandro Fulciniti
Ok, per gli elementi generali quali i menù, ma se parliamo delle singole tabelline che possiamo inserire magari solo in poche pagine? In quel caso non conviene definire gli stili che siano classi o selettori direttamente nella pagina web più che tramite import giusto?

 selettori direttamente nella pagina web più che tramite import giusto?
Ciao,
    non ho capito bene la domanda.. mi chiedevi se sarebbe meglio usare
stili in linea o incorporati per certi elementi? Credo che a pagina finita
gli stili in linea e quelli incorporati sarebbero da evitare, e per garantire
separazione totale tra html e css e per comodità di editing futura si
dovrebbero usare uno o più css esterni.
Ciao,
    Alessandro

 farneticò:

Scusa, ma se uno ha una tabellina larga 178px che può utilizzare solo in una determinata pagina, se non posso metterela in linea, ho solo due altre possibilità:
- la metto nel css generale:
però così mi porto avanti in tutte le pagine un codice che non mi serve a nulla, se ci sono più casi così, faccio lavorare inutilmente il tutto.
- la metto in un css apposito che richiamo solo in quella pagina:
Alla fine ogni volta che ho una particolarità, dovrò avere un css dedicato per pagina.... sai che casino nella directory dei css!?!?
questo è il mio dilemma...

     }
Chiaro. Ma se usassi:
.menu{
    /*ecc... */
    }
a.menu{
    /*ecc... */
    }
Non ottengo la stessa cosa? Cioè ridefinisco il tag a contestualmente alla
classe .menu.
O sbaglio?
Grazie, ciao

 O sbaglio?
Si, l' effetto è lo stesso, ma c'è una logica migliore nell' uso degli id e del
selettore discendente. Guarda la differenza di html:
<div id="menu">
    <a href="...">ecc..</a>
    <a href="...">ecc..</a>
    <a href="...">ecc..</a>
    <a href="...">ecc..</a>
    <a href="...">ecc..</a>
</div>
oppure:
<div>
    <a class="menuitem" href="...">ecc..</a>
    <a class="menuitem" href="...">ecc..</a>
    <a class="menuitem" href="...">ecc..</a>
    <a class="menuitem" href="...">ecc..</a>
    <a class="menuitem" href="...">ecc..</a>
</div>
Quale delle due porzioni di codice ti sembra più logica,
leggera e semplice? Per me senza dubbio la prima.
Ciao,
    Alessandro

 questo è il mio dilemma...
Ciao,
    l' unica cosa che ti posso dire è che in una pagina html "finita" a me non piace
tenermi stili in linea o incorporati, ma non ho detto che non si possa fare.
Dipende sempre dai casi.. è ovvio che fare un file css esterno solo per una
regola simile:
<td style="width: 178px">
Non ha senso.. è anche vero però che una regoletta così influisce
di molto poco sul peso totale del css esterno.
Con i css, se le cose funzionano e se passano dal validatore senza
problemi, direi che non c'è una regola generale: ognuno poi con
l' esperienza prende le sue abitudini.
Ciao,
    Alessandro