Newsgroup: it.lavoro.professioni.webmaster
Titolo: Aiuto per validazione html/css

Ciao a tutti, sto' iniziando a sviluppare siti tableless.
Dopo un po' di intoppi iniziali ho capito la filosofia ed ora vado molto
meglio, ho cosi' deciso di validare il mio codice.
Il validatore dice che il css e' ok ma mi da' un errore per l'html relativo
a questo blocco
        <div id="speciali">
            <div id="box">
               1° BLOCCO<br />SPECIALE
            </div>
            <div id="box">
               2° BLOCCO<br />SPECIALE
            </div>
            <div id="box">
               3° BLOCCO<br />SPECIALE
            </div>
         </div>
Il problema e' che box deve essere univoco, e non posso ripeterlo. Ma
mettendo box1,2,3 nel css avrei altri due blocchi che replicano il primo che
mi sembra inutile e poco elegante.
Il pezzo di css interessato e':
/* Blocco Speciali */
   #page #contenuti #speciali {
      width: 200px;
      /*border: 1px solid purple;*/
      margin: 0 0 0 5px;
      float: right;
   }
      #page #contenuti #speciali #box {
         width: 200px;
         height: 125px;
         border: 1px dashed #000000;
         background: white;
         margin: 0 0 5px 0;
      }
Il validatore consiglia di usare "classes" io ho pensato si riferisse a
class ma se metto class="box" e cambio id oppure ometto id nel browser nn
vedo + i blocchi ma solo il testo.
Grazie a chiunque mi vorra/potra' aiutare e buon lavoro a tutti.
Ciao
--
Danilo Bottone

 meglio, ho cosi' deciso di validare il mio codice.
Scusate sono proprio un fesso :) Bastava sostituire #con . nel css vicino a
box.
Ovviamente se uso class devo avare una classe corrispondende nel css.
Vabbe' almeno resta su google ai posteri ...
ciao


E perchè scusa? se in un css definisci un selettore e lo vuoi richiamare in
piu parti su una pagina html tramite id qual'è il problema?
Se dovesse essere davvero unico allora non avrebbe senso definire il
selettore sul css, si userebbe direttamente style sulla pagina web in
ciascun div.
Cooper.

 
Guarda che ha ragione Carlo. Id deve essere univoco perche' *identifica* 
un elemnto all'interno della pagina (menu, barra di navigazione, header, 
footer, ecc.). E' l'attributo class che puo' essere utilizzato piu' 
volte, perche' rappresenta una *classe* di proprieta' che possono essere 
associate anche ad elementi uguali (link rosso, link verde, link giallo, 
paragrafo indentato, ecc.)
Nel codice postato c'e' anche un grave errore: il testo contenuto nel 
<div> non e' strutturato, ovvero non fa parte di un paragrafo o di un 
titolo o altre cose.
-- 
Spirito Libero
Siamo tutti un po' abusivi a questo mondo...
(Non mettere il sale se vuoi rispondermi!)


Ok, però mi sembra sia una questione piu di carattere teorico che
sintattico. La scrittura:
#ident { color: #000000 }
<div id ="ident"> etc </div>
equivale alla scrittura:
<div style="color: #000000"> etc </div>
quindi con:
<div id ="ident"> etc </div>
non viene fatto altro che richiamare il contenuto del css associato a
#ident, operando una "specie" di messa in evidenza.
Il browser fra l'altro legge il codice riga per riga nell'ordine in cui esso
è dato, e non tiene conto se un dato id è stato usato o meno (cerco
smentite) infatti non mi risulta che qualche browser restituisca errori o
interpreti male questi selettori.
Fermo restando quindi quanto afferma il W3C che dovrebbero essere unici, di
fatto finchè non c'è un controllo piu rigido da parte dei browser potrei
dire che usare questi o le classi sia "la stessa cosa".
Cooper.


Come ho scritto nel secondo messaggio dove dicevo di aver risolto e' un
fatto teorico legato all'idea del tag id e del tag class, chissa' se un
domani diventera' + rigido lo standard ma nn credo.
Cmq il problema si pone solo in caso di validazione w3c altrimenti sono
praticamente equivalenti.
Ciao
Danilo.


Infatti, proprio cosi.
Cooper.

 Danilo.
