2010-11-15 10 views

risposta

45

È necessario utilizzare <span>, perché as specified by the spec, <font> è stato deprecato e probabilmente non verrà visualizzato come si desidera.

+0

Span (e div) non sono deprecati, ma non sono In altre parole, non aggiungono alcun "significato" al testo, dovrebbero essere usati solo per raggruppare elementi senza aggiungere significato: http://en.wikipedia.org/wiki/Span_and_div – Peter

+2

Non ho mai detto Span o i div sono deprecati, trovo difficile credere che saranno mai deprecati. span è stato progettato esattamente per il suo scopo: a non semanticamente essere in grado di modificare alcune parti del testo. – Kyle

+1

Non ho mai detto che lo span e il div sono deprecati e sono d'accordo con te che probabilmente non lo saranno mai. Ma sembra ragionevole assumere che l'OP abbia un significato con testo colorato in rosso, ad esempio enfasi. Quindi dovrebbe usare un tag semantico per questo. Tuttavia, se il testo ha solo bisogno di essere colorato di rosso senza significato semantico (ad es. Solo per creare un po 'di colorito), allora lo span è una scelta eccellente. – Peter

9

Usa stile. Il tag font è deprecato (W3C Wiki).

+0

Cambiato il link per puntare a una fonte più autorevole. – fncomp

5

Il tag <font> è stato deprecated, almeno in XHTML. Ciò significa che il suo uso è ufficialmente "disapprovato" e non c'è alcuna garanzia che i futuri browser continueranno a visualizzare il testo come desiderato.

Devi usare CSS. Vai con il tag <span> o un foglio di stile separato. In base al suo specification, il tag <span> non ha alcun significato semantico e consente solo di cambiare lo stile di una particolare regione.

+0

No, non scegliere come target XHTML a meno che tu non sappia davvero cosa stai facendo: http://www.webdevout.net/articles/beware-of-xhtml. Il 99,9% del cosiddetto XHTML là fuori, non è (valido) XHTML. – Peter

+0

@Peter: Giusto, riconosco che ci sono più opinioni valide sulla questione. XHTML è solo una mia preferenza personale. Ma vale la pena sottolineare che con "targeting" intendevo implicare un "XML valido per scrivere". –

10

Prima preferenza foglio di stile esterno.

<span class="myClass">test</span> 

css

.myClass 
{ 
color:red; 
} 

seconda preferenza di stile in linea

<span style="color:red">test</span> 

<font> come detto è deprecato.

+0

L'unico suggerimento per migliorare è invece di "myClass" usare "redText" o "red". – jeffmcneill

29

Nessuno dei due. È necessario separare il contenuto e la presentazione, fornendo i codici logici del codice HTML. Pensare in questo modo; a un cieco o su un browser che non può visualizzare i colori, cosa rimane del tuo codice? Perché vuoi che sia rosso?

Molto probabilmente, la tua decisione di rendere il testo rosso è perché vuoi dargli enfasi. Così il vostro codice HTML dovrebbe essere:

<em>test</em> 

In questo modo, anche i browser non visuali possono assicurarsi che essi danno l'enfasi testo in un modo o nell'altro.

Il passaggio successivo è rendere il testo rosso. Ma non si vuole aggiungere il codice di colore in tutto il mondo, molto più efficiente di aggiungere solo una volta:

<style> 
    em { color: red; } 
</style> 

In questo modo, tutti codice sottolineato sul tuo sito web diventa rosso, il che rende più costante.

4

In realtà direi che la prima preferenza sarebbe un foglio di stile esterno (CSS esterno), il 2 ° preferenza avrebbe scritto CSS in tag di stile nella sezione di intestazione della pagina corrente (CSS interno)

<style type="text/css"> 
<!-- CSS goes here --> 
</style> 

E come terza opzione - o piuttosto come ultima risorsa - utilizzerei i CSS nei tag stessi (inline CSS).

+2

* Mai * usare CSS in linea! – Kyle

+0

Accetto. Crea una classe CSS chiamata "rossa", assegna la classe "rossa" al tag: facile e buona pratica. – RPM1984

+2

In realtà ... .red non sarebbe un nome di grande classe in quanto non è semantico. .red descrive solo l'aspetto della classe, non quello che significa, altrimenti sarebbe meglio. – Damien

2
<span style="color:#ffffff; font-size:18px; line-height:35px; font-family: Calibri;">Our Activities </span> 

Questo funziona per me bene :) Come è stato già accennato in precedenza "Il tag font è stato deprecato, almeno in XHTML. E 'sempre sicuro da usare tag span. Carattere non può dare risultati che desiderate, almeno nel mio caso non ha fatto.

+0

Ottimo esempio; ma non risponde alla domanda: perché? – jpaugh

+0

@jpaugh, perché utilizzare lo span al posto del tag del font è già stato utilizzato dagli altri membri sopra. Il tag è stato deprecato, almeno in XHTML. Grazie, modificherò la mia risposta. –

+1

Beh, questo è un modo per vederlo. Intendevo, perché usare * la tua * soluzione (indipendentemente dalle altre soluzioni)? Che cosa è unico o benefico per il tuo esempio? – jpaugh