W3docs

Tag HTML <hr>

Il tag HTML <hr> segna un'interruzione tematica resa come linea orizzontale. Scopri quando usarlo, la stilizzazione CSS e l'accessibilità.

Il tag HTML <hr> rappresenta un'interruzione tematica — un cambio di argomento all'interno di una sezione di contenuto, come il cambio di scena in un racconto o il passaggio a un nuovo argomento in un articolo di riferimento. Per impostazione predefinita il browser lo visualizza come una linea orizzontale, ma il suo scopo principale è semantico, non decorativo.

In HTML5 il tag <hr> ha un significato preciso: comunica ai browser e alle tecnologie assistive che i paragrafi circostanti appartengono ad argomenti diversi. Nelle versioni precedenti di HTML veniva trattato esclusivamente come una riga presentazionale usata per tracciare una linea tra i contenuti. Oggi, se vuoi solo un divisore decorativo senza cambiamento di argomento, dovresti usare un border CSS su un altro elemento al posto di <hr>.

L'aspetto visivo della linea dipende dal browser; spesso viene disegnata con un leggero effetto 3D ("ombreggiato") che puoi sovrascrivere con CSS.

Una pagina web con un'intestazione seguita da un paragrafo, una riga orizzontale e una seconda intestazione con paragrafo, che mostra l'elemento hr che separa due argomenti

Quando usare <hr> (e quando non usarlo)

Usa <hr> quando c'è un vero cambiamento di argomento:

  • Tra due sezioni distinte di un articolo o documento lungo.
  • Tra scene o cambi di scena in una narrazione.
  • Per separare gruppi di campi di un modulo o voci di un elenco non correlati, quando un nuovo titolo sarebbe troppo pesante.

Non usare <hr> puramente per decorazione. Se la linea serve solo a fare bella figura — ad esempio un divisore sotto ogni avatar in un elenco — aggiunge rumore per gli utenti di screen reader. In tal caso applica un border su un elemento esistente, oppure aggiungi role="presentation" alla riga così da renderla irrilevante semanticamente. Per strutturare le regioni della pagina in base al significato, vedi gli elementi semantici in HTML5.

Informazione

Accessibilità: <hr> ha il ruolo ARIA implicito separator ed è esposto alle tecnologie assistive — molti screen reader lo annunciano (ad esempio come "separatore"). È esattamente ciò che si desidera per una vera interruzione tematica, ma è anche il motivo per cui una linea puramente decorativa dovrebbe usare CSS o role="presentation" al suo posto.

Sintassi

Il tag <hr> è vuoto, il che significa che il tag di chiusura non è obbligatorio. Ma in XHTML, il tag (<hr>) deve essere chiuso (<hr/>).

Esempio del tag HTML <hr>:

Tag HTML hr

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
  </head>
  <body>
    <h1>Learn HTML</h1>
    <p>
      This HTML tutorial will teach you the basics of the (Hyper Text Markup Language) and how to make your website from scratch.
    </p>
    <hr />
    <h1>Learn CSS</h1>
    <p>
      In our CSS tutorial you will learn how to use CSS to control the style and layout of multiple Web pages all at once.
    </p>
  </body>
</html>

Attributo size di HTML <hr>

L'attributo size specifica l'altezza della linea.

Pericolo

Sebbene l'attributo size faccia parte degli attributi deprecati, è ancora supportato da tutti i browser.

Esempio del tag HTML <hr> con l'attributo "size":

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
  </head>
  <body>
    <p>A normal horizontal line:</p>
    <hr />
    <p>A horizontal line with a height of 40 pixels:</p>
    <hr size="40" />
  </body>
</html>
Suggerimento

Un modo alternativo per specificare la dimensione del tag <hr> è utilizzare la proprietà CSS height.

Esempio del tag HTML <hr> usato con la proprietà height:

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      hr {
        height: 20px;
      }
    </style>
  </head>
  <body>
    <p>
      A horizontal line with a height of 20 pixels.
    </p>
    <hr />
  </body>
</html>

Attributo width di HTML <hr>

L'attributo width specifica la larghezza della linea.

Pericolo

Anche l'attributo width fa parte degli attributi deprecati, ma è supportato da tutti i browser.

Esempio del tag HTML <hr> con l'attributo width:

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
  </head>
  <body>
    <p>A normal horizontal line:</p>
    <hr />
    <p>A horizontal line with a width of 30%:</p>
    <hr width="30%" />
  </body>
</html>
Suggerimento

Usa la proprietà CSS width al posto dell'attributo width.

Esempio del tag HTML <hr> usato con la proprietà width:

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      hr {
        width: 250px;
      }
    </style>
  </head>
  <body>
    <p>A horizontal line with a width of 250 pixels:</p>
    <hr />
  </body>
</html>

Attributo noshade di HTML <hr>

L'attributo noshade rimuove l'effetto di ombreggiatura 3D dalla linea orizzontale.

Pericolo

L'attributo noshade fa parte degli attributi deprecati, ma è supportato da tutti i browser.

Esempio del tag HTML <hr> con l'attributo noshade:

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
  </head>
  <body>
    <p>Shaded horizontal line :</p>
    <hr />
    <p>Noshaded horizontal line:</p>
    <hr noshade />
  </body>
</html>
Suggerimento

Per rimuovere l'aspetto 3D ("ombreggiato") predefinito in CSS, dai all'elemento <hr> un border piatto e uno sfondo trasparente. La riga predefinita viene disegnata con bordi ombreggiati, quindi sostituirla con un singolo bordo solido (e azzerando lo sfondo) produce una linea piatta e uniforme — lo stesso risultato che dava l'attributo noshade.

Esempio del tag HTML <hr> usato con la proprietà border:

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      hr {
        border: 1px solid #000000;
        background: transparent;
      }
    </style>
  </head>
  <body>
    <p>
      A horizontal line specified with CSS border Property.
    </p>
    <hr />
  </body>
</html>

Attributo align di HTML

L'attributo align specifica l'allineamento della linea.

Pericolo

L'attributo align fa parte degli attributi deprecati, ma è supportato da tutti i browser.

Esempio del tag HTML <hr> con l'attributo align:

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
  </head>
  <body>
    <p>Lorem ipsum is simply dummy text...</p>
    <hr align="left" width="70%" />
  </body>
</html>
Suggerimento

Per posizionare un elemento <hr>, imposta una width e controlla il suo margin orizzontale — non text-align. Poiché <hr> è un elemento block, text-align non lo sposta. Usa margin-right: auto per spingerlo a sinistra, margin-left: auto per spingerlo a destra, oppure margin: 0 auto per centrarlo.

Esempio del tag HTML <hr> usato con la proprietà margin:

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      hr {
        width: 50%;
        margin-left: 0;
        margin-right: auto;
      }
    </style>
  </head>
  <body>
    <p>A horizontal line specified with CSS margin property</p>
    <hr />
  </body>
</html>
Pericolo

Gli attributi di presentazione del tag <hr> sono stati deprecati in HTML5. Per la stilizzazione si usa CSS.

Come stilizzare il tag <hr>

La proprietà CSS border viene utilizzata per stilizzare la linea orizzontale.

Esempio del tag HTML <hr> stilizzato con la proprietà border:

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      /* blue border */
      hr.one {
        border-top: 1px solid #1c87c9;
      }
      /* Dashed border */
      hr.two {
        border-top: 1px dashed #1c87c9;
      }
      /* Dotted border */
      hr.three {
        border-top: 1px dotted #1c87c9;
      }
      /* Thick border */
      hr.four {
        border: 1px solid #1c87c9;
      }
      /* Large rounded border */
      hr.five {
        border: 15px solid #1c87c9;
        border-radius: 5px;
      }
    </style>
  </head>
  <body>
    <p>Default:</p>
    <hr />
    <p>Styling "hr" tag</p>
    <hr class="one" />
    <hr class="two" />
    <hr class="three" />
    <hr class="four" />
    <hr class="five" />
  </body>
</html>

Attributi

AttributoValoreDescrizione
alignleft center rightDefinisce l'allineamento orizzontale della linea. Deprecato in HTML5, ma ancora supportato dai browser per compatibilità con le versioni precedenti.
noshadenoshadeDefinisce che la linea verrà visualizzata senza effetto 3D. Deprecato in HTML5, ma ancora supportato dai browser per compatibilità con le versioni precedenti.
sizepixelsDefinisce la dimensione della linea. Deprecato in HTML5, ma ancora supportato dai browser per compatibilità con le versioni precedenti.
widthpixels %Definisce la larghezza della linea. Deprecato in HTML5, ma ancora supportato dai browser per compatibilità con le versioni precedenti.

Il tag <hr> supporta gli Attributi Globali e gli Attributi Evento.

Esercitazione

Pratica
Cosa rappresenta l'elemento HTML hr in HTML5?
Cosa rappresenta l'elemento HTML hr in HTML5?
Was this page helpful?