W3docs

Tag HTML <mark>

Il tag HTML <mark> evidenzia il testo come rilevante nel contesto. Scopri i casi d'uso, gli attributi e lo stile con esempi.

Il tag <mark> è uno degli elementi HTML5. Contrassegna uno span di testo come rilevante o evidenziato come riferimento, così come si farebbe passando un evidenziatore su delle parole di una pagina stampata. I browser lo visualizzano con uno sfondo giallo per impostazione predefinita.

Questa pagina spiega cosa significa <mark> semanticamente, quando usarlo al posto di un semplice <span>, i tre classici casi d'uso e come si confronta con <strong>, <b> ed <em>.

Perché usare <mark> invece di <span>?

Un <span> è un contenitore generico privo di significato — è puramente un aggancio per lo stile. Si potrebbe dare a un <span> uno sfondo giallo e sembrerebbe evidenziato, ma per un lettore di schermo, un motore di ricerca o qualsiasi altra macchina rimarrebbe comunque testo ordinario.

<mark> è diverso perché porta con sé la semantica: dice al browser e alle tecnologie assistive "questa parte del testo è notevole o rilevante nel contesto corrente." L'evidenziazione fa parte del significato del documento, non solo della sua apparenza.

Usa questa regola pratica:

  • Se l'evidenziazione trasmette significato (questo testo corrisponde alla ricerca, questo passaggio è il punto di riferimento) → usa <mark>.
  • Se vuoi solo uno sfondo colorato a scopo decorativo → usa un <span> con CSS.

Quando usare <mark>

La specifica descrive tre scenari principali:

  • Evidenziazione dei risultati di ricerca. Contrassegna le parole in un passaggio che corrispondono a ciò che l'utente ha cercato, in modo che possa individuare rapidamente il punto pertinente.
  • Rilevanza all'interno di una citazione. Quando si cita un testo scritto da qualcun altro, <mark> evidenzia la parte che è rilevante per il motivo per cui si sta citando — un'enfasi che l'autore originale non ha aggiunto.
  • Contenuto evidenziato dall'utente. Rappresenta il testo che il lettore ha evidenziato, simile alla funzione "evidenziazione" in un'app di lettura o annotazione.
Attenzione

Il tag <mark> non indica importanza o enfasi. Per dire "questo testo è importante," usa <strong>; per enfatizzare con stress una parola, usa <em>.

Attenzione

Non usare mai <mark> per la colorazione sintattica o puramente visiva. Per questo, usa invece un <span> con il CSS appropriato.

Sintassi

Il tag <mark> viene in coppia. Il contenuto è scritto tra i tag di apertura (<mark>) e di chiusura (</mark>).

Esempio del tag HTML <mark>:

Tag HTML <mark>

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
  </head>
  <body>
    <p>Learn HyperText markup language (HTML) on <mark>W3Docs.com</mark> website.</p>
  </body>
</html>

Risultato

Frase con le parole "W3Docs.com" evidenziate in giallo dal tag mark

Esempio reale: evidenziazione delle corrispondenze di ricerca

Immagina una pagina di ricerca in cui l'utente ha cercato la parola highlight. Avvolgi ogni parola corrispondente in un paragrafo con <mark> in modo che il risultato sia facile da scansionare. L'esempio seguente personalizza anche il colore di evidenziazione e aggiunge una regola @media print, poiché lo sfondo giallo predefinito viene spesso eliminato quando una pagina viene stampata:

<!DOCTYPE html>
<html>
  <head>
    <title>Search results</title>
    <style>
      /* Custom highlight color instead of the default yellow */
      mark {
        background-color: #c8f7c5;
        color: #14532d;
        padding: 0 2px;
        border-radius: 3px;
      }
      /* Make sure highlights are still visible when printed */
      @media print {
        mark {
          background-color: transparent;
          color: inherit;
          text-decoration: underline;
        }
      }
    </style>
  </head>
  <body>
    <p>
      You can <mark>highlight</mark> search terms so the user finds them
      fast. Each <mark>highlight</mark> marks where the query matched.
    </p>
  </body>
</html>

<mark> e altri tag HTML

Diversi elementi HTML sembrano simili a <mark> ma hanno significati diversi. Scegliere quello giusto è importante per l'accessibilità e la SEO, perché ciascuno comunica un'intenzione distinta ai browser e alle tecnologie assistive.

Il tag HTML <strong>

Il tag <strong> contrassegna il testo come avente forte importanza, serietà o urgenza — ad esempio un errore o un avviso. I browser lo visualizzano in grassetto per impostazione predefinita. Usa <strong> quando il testo conta, non solo quando deve essere evidenziato.

Il tag HTML <b>

Il tag <b> visualizza anch'esso il testo in grassetto, ma a differenza di <strong> non implica importanza. Attira l'attenzione solo per ragioni stilistiche — come parole chiave o nomi di prodotti — senza implicare che il testo sia più significativo.

Il tag HTML <em>

Il tag <em> pone enfasi su una parola, nel modo in cui si cambia il tono della voce quando si parla. Viene visualizzato in corsivo per impostazione predefinita e può modificare il significato di una frase.

In breve: <mark> = rilevante/evidenziato qui, <strong> = importante, <b> = grassetto visivo, nessun significato, <em> = enfasi parlata.

Attributi

Il tag <mark> non ha attributi specifici — accetta solo gli attributi globali e gli attributi evento.

Come applicare stile a un tag HTML <mark>

Puoi modificare lo sfondo giallo predefinito usando la proprietà CSS background-color:

mark {
  background-color: #ffeb3b;
  color: #333;
}

Esercitazione

Pratica
Cosa indica il tag HTML mark riguardo al testo che racchiude?
Cosa indica il tag HTML mark riguardo al testo che racchiude?
Was this page helpful?