W3docs

Proprietà CSS stroke

Come usare la proprietà CSS stroke per disegnare il contorno di un elemento SVG. Scopri i valori con esempi pratici.

La proprietà CSS stroke disegna il contorno (la linea) di una forma SVG o di un testo. Mentre fill colora l'interno di una forma, stroke ne colora il bordo — insieme controllano come vengono disegnati tutti i path, cerchi, rettangoli e testi SVG.

Questa pagina spiega cosa fa stroke, i valori che accetta, come interagisce con le proprietà stroke correlate (larghezza, pattern di trattini, terminazioni della linea) e i problemi comuni in cui ci si imbatte.

Quando usarla?

stroke influisce solo sui contenuti SVG — non ha effetto sugli elementi HTML ordinari come <div> o <p>. Utilizzala quando:

  • Disegni icone, grafici o diagrammi inline con <svg>.
  • Animi una linea che "si disegna da sola" (combina stroke con stroke-dasharray e stroke-dashoffset).
  • Vuoi il contorno di testi SVG senza riempirli.

Puoi trovare i colori web predefiniti nella sezione colori HTML.

Proprietà CSS vs. attributo di presentazione

stroke è particolare: può essere impostata sia come proprietà CSS che come attributo di presentazione SVG scritto direttamente sull'elemento. Queste due righe producono lo stesso risultato:

<!-- presentation attribute -->
<path stroke="#1c87c9" d="M5 20 l215 0" />

<!-- CSS, via a style block or stylesheet -->
<path style="stroke: #1c87c9;" d="M5 20 l215 0" />

Quando entrambe sono presenti, vince il CSS: uno style inline (o qualsiasi regola di foglio di stile) sovrascrive l'attributo di presentazione. Questo permette di impostare un colore predefinito nel markup e sovrascriverlo dal CSS — ad esempio, al passaggio del mouse.

Informazione

La proprietà stroke può essere utilizzata sia come proprietà CSS che come attributo di presentazione. Può essere applicata a qualsiasi elemento, ma produce effetti solo sui seguenti: <altGlyph>, <circle>, <ellipse>, <line>, <path>, <polygon>, <polyline>, <rect>, <text>, <textPath>, <tref> e <tspan>.

Valore inizialenone
Si applica aForme ed elementi di contenuto testuale.
EreditataSì.
AnimabileNo.
VersioneSVG 1.1 Specification
Sintassi DOMObject.stroke = "#1c87c9";

Sintassi

Sintassi CSS stroke

stroke: color | url | none | context-fill | context-stroke | initial | inherit;

Esempio della proprietà stroke:

Esempio di codice CSS stroke

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
  </head>
  <body>
    <h2>Stroke property example</h2>
    <svg height="100" width="500">
      <g fill="none">
        <path stroke="#8ebf42" d="M5 20 l215 0" />
        <path stroke="#1c87c9" d="M5 40 l215 0" />
        <path stroke="#666666" d="M5 60 l215 0" />
      </g>
    </svg>
  </body>
</html>

Risultato

esempio

Esempio con forme e CSS

Non è necessario scrivere stroke come attributo — qui viene impostato da un blocco <style>, applicato a più forme contemporaneamente. Nota fill: none in modo che sia visibile solo il contorno:

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      .outline {
        fill: none;
        stroke: #1c87c9;
        stroke-width: 4px;
      }
      circle.outline {
        stroke: #8ebf42;
      }
    </style>
  </head>
  <body>
    <h2>Stroke from a CSS rule</h2>
    <svg height="120" width="300">
      <rect class="outline" x="10" y="10" width="100" height="100" />
      <circle class="outline" cx="220" cy="60" r="50" />
    </svg>
  </body>
</html>

Valori

ValoreDescrizione
noneNessuna pittura viene applicata.
colorImposta un colore solido. Si possono usare nomi di colore, codici esadecimali, rgb(), rgba(), hsl(), hsla().
urlUn riferimento URL a un elemento paint server che definisce un server di pittura.
context-fillUtilizza il valore di fill dell'elemento di contesto.
context-strokeUtilizza il valore di stroke dell'elemento di contesto.
initialImposta la proprietà al suo valore predefinito.
inheritEredita la proprietà dall'elemento genitore.

Il valore iniziale è none, il che significa che una forma senza stroke viene disegnata senza alcun contorno — anche se stroke-width è impostato.

Proprietà stroke correlate

stroke imposta solo il colore del contorno. Per controllare l'aspetto del contorno, combinala con:

  • stroke-width — lo spessore della linea.
  • stroke-dasharray — un pattern di trattini/spazi al posto di una linea continua.
  • stroke-dashoffset — dove inizia il pattern di trattini (la chiave per le animazioni di disegno della linea).
  • stroke-linecap — la forma delle terminazioni della linea.

Problemi comuni

  • Non appare nulla. Se stroke-width è 0 (il valore predefinito), il contorno è invisibile qualunque colore si scelga. Imposta sempre una larghezza.
  • La forma è piena. Se vuoi solo il contorno, imposta fill: none — altrimenti l'interno viene dipinto di nero per impostazione predefinita.
  • Non funziona su un <div>. stroke ha effetto solo su elementi grafici e di testo SVG: <altGlyph>, <circle>, <ellipse>, <line>, <path>, <polygon>, <polyline>, <rect>, <text>, <textPath>, <tref> e <tspan>.

Pratica

Pratica
Qual è lo scopo della proprietà CSS 'stroke' e come si usa?
Qual è lo scopo della proprietà CSS 'stroke' e come si usa?
Was this page helpful?