Dovrebbe aggiungere che se un browser imposta un attributo per impostazione predefinita potrebbe essere necessario aggirare il problema. Questo non sembra essere un problema nei browser "moderni", tuttavia, questo è un problema che ho riscontrato, quindi assicurati di controllare le prestazioni del browser.
Ad esempio, ho scoperto che in IE prima di 9, colSpan è impostato per tutti i TD in una tabella, quindi ogni singola cella ha il valore colspan nascosto di 1.
Quindi, se stavi mirando a "qualsiasi TD con attributo colspan" che applichi nel tuo webdoc, anche il td che non ha un attributo colspan impostato, come qualsiasi TD che è una singola cella, riceverà lo stile css. IE meno di 9 fondamentalmente li modellerà tutti!
L'unico motivo per preoccuparsi di questo è tutti i restanti utenti di XP là fuori che non possono aggiornare oltre IE8.
Quindi, ad esempio, ho un gruppo di tabelle in cui il contenuto può spostarsi da un capo all'altro, lasciando da 1 a 7 celle vuote alla fine o all'inizio.
Voglio applicare un colore a tutte le celle vuote alla fine o all'inizio utilizzando l'attributo colspan. L'uso di quanto segue non funzionerà in IE inferiore a 9
#my td[colspan] {background-color:blue;}
... tutti i TD avranno uno stile (divertente dato che lo stile degli attributi condizionali era apparentemente superiore in IE, ma sto divagando ...).
L'uso di quanto segue funziona su tutti i browser quando imposto il valore di colspan su 'single' per qualsiasi cella solitaria / TD che desidero includere nello schema di stile, tuttavia è un 'hack' e non convaliderà correttamente ...
#my td[colspan="single"] {background-color:blue;}
#my td[colspan="2"] {background-color:blue;}
#my td[colspan="3"] {background-color:blue;}
#my td[colspan="4"] {background-color:blue;}
#my td[colspan="5"] {background-color:blue;}
#my td[colspan="6"] {background-color:blue;}
#my td[colspan="7"] {background-color:blue;}
In alternativa dovresti essere in grado di affrontare in modo più appropriato il problema usando lo stile condizionale usando "if lt IE 9" per sovrascrivere. Sarebbe il modo corretto per farlo, tieni presente che devi nascondere il "css costruito correttamente" da IElt9 durante il processo, e penso che l'unico modo corretto per farlo sia con fogli di stile selettivi.
La maggior parte di noi lo fa comunque, ma a prescindere, fai comunque bene a considerare e testare se un browser applica un attributo automatico quando non ne vede nessuno e come può gestire la sintassi altrimenti corretta per lo stile sui valori degli attributi.
(btw, colspan sembra non essere ancora nella specifica css [a partire da css3], quindi questo esempio non genera errori di convalida.)
empty