English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
L'attributo stroke definisce il colore del contorno di un elemento grafico specifico. Il suo valore predefinito è none.
Proprietà comuni includono:
stroke-width
stroke-linecap
stroke-linejoin
stroke-miterlimit
stroke-dasharray + stroke-dashoffset
stroke-opacity
La proprietà style di CSS, stroke e fill, specificano le proprietà interne delle forme SVG. Ecco un esempio:
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <circle cx="50" cy="50" r="50" style="stroke: #000066; fill: 3333ff;" /> </svg>Testa a vedere‹/›
Questo esempio definisce un cerchio con un colore di tratto blu scuro (#000066) e un colore di riempimento blu chiaro (3333ff).
Il tratto delle forme SVG è il contorno della forma. Ecco un esempio di tratto SVG:
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><circle cx="50" cy="50" r="25" style="stroke: #000000; fill:none;" /></svg>Testa a vedere‹/›
Questo esempio definisce un cerchio senza riempimento e con un colore di tratto nero (#000000). Esempio di effetto immagine dopo l'esecuzione:
Puoi combinare i colori di tratto e riempimento di SVG per creare forme SVG. Ecco un esempio di tratto e riempimento di SVG:
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><circle cx="50" cy="50" r="25" style="stroke: #000066; fill: #3333ff;" /></svg>Testa a vedere‹/›
In questo esempio, è definito un cerchio con un colore di tratto più scuro (#000066) e un colore di riempimento più chiaro (#3333ff). L'effetto dell'immagine dopo l'esecuzione è:
SVG ha l'attributo CSS stroke-width che definisce la larghezza del tratto. Ecco un esempio di stroke-width di SVG:
stroke-width: 3px;
In questo esempio, la larghezza del tratto è impostata a 3 pixel. Puoi usare unità diverse dai pixel. InVedere tutte le unità disponibili nel sistema di coordinate SVG。
Questi sono quattro esempi diversi di stroke-width:
<svg width="500" height="120"> <circle cx="50" cy="50" r="25" style="stroke: #000066; fill: none; stroke-width: 1px;" /> <circle cx="150" cy="50" r="25" style="stroke: #000066; fill: none; stroke-width: 3px;" /> <circle cx="250" cy="50" r="25" style="stroke: #000066; fill: none; stroke-width: 6px;" /> <circle cx="350" cy="50" r="25" style="stroke: #000066; fill: none; stroke-width: 12px;" /> </svg>Testa a vedere‹/›
Effetto dell'immagine dopo l'esecuzione:
L'attributo CSS stroke-linecap di SVG definisce come viene presentata la fine della linea di SVG. L'attributo stroke-linecap di CSS ha tre valori possibili. Questi sono:
butt square round
Questo valore crea un cappuccio di filo, che taglierà esattamente alla fine della linea. Questo valore farà sembrare il cappuccio di filo come butt (troncato), ma leggermente oltre la fine della riga. Questo valore farà sembrare il cappuccio di filo come rotondo.
Qui ci sono tre SVG stroke-linecap che mostrano questi tre valori di esempio di stroke-linecap (ordine = butt, square, round):
Questo esempio definisce tre linee verdi, ciascuna con uno stroke-width di 10, per illustrare meglio l'effetto dell'attributo CSS stroke-linecap. Ogni linea verde disegna una linea nera con uno stroke-width di 1, che ha gli stessi coordinate x1, y1 e x2, y2 della linea verde, ma senza uno stroke-linecap. In questo modo, è possibile vedere le differenze tra i valori di stroke-linecap.
L'attributo CSS stroke-linejoin definisce come viene visualizzata la connessione tra due linee di una forma. L'attributo CSS stroke-linejoin può accettare uno dei tre valori. Questi valori sono:
miter round bevel
Questi sono tre esempi di SVG stroke-linejoin che illustrano questi valori diversi:
<svg width="500" height="120"> <path d="M20,100 l20,-50 l20,50" style="stroke: #000000; fill:none; stroke-width:16px; stroke-linejoin: miter;" ></path> <text x="22" y="20">miter</text> <path d="M120,100 l20,-50 l20,50" style="stroke: #000000; fill:none; stroke-width:16px; stroke-linejoin: round;" ></path> <text x="122" y="20">round</text> <path d="M220,100 l20,-50 l20,50" style="stroke: #000000; fill:none; stroke-width:16px; stroke-linejoin: bevel;" ></path> <text x="222" y="20">bevel</text> </svg>Testa a vedere‹/›
Lo stile di disegno dell'attributo stroke-miterlimit viene utilizzato insieme a stroke-linejoin. Se stroke-linejoin è impostato su incrocio, stroke-miterlimit può essere utilizzato per limitare la distanza tra i punti di intersezione delle due linee (estensione degli angoli di linea).
Questo è un esempio di SVG stroke-miterlimit:
<svg width="500" height="120"> <path d="M20,100 l20,-50 l20,50" style="stroke: #000000; fill:none; stroke-width:16px; stroke-linejoin: miter; stroke-miterlimit: 1.0; " ></path> <text x="29" y="20">1.0</text> <path d="M120,100 l20,-50 l20,50" style="stroke: #000000; fill:none; stroke-width:16px; stroke-linejoin: miter; stroke-miterlimit: 2.0; " ></path> <text x="129" y="20">2.0</text> <path d="M220,100 l20,-50 l20,50" style="stroke: #000000; fill:none; stroke-width:16px; stroke-linejoin: miter; stroke-miterlimit: 4.0; " ></path> <text x="229" y="20">4.0</text> </svg>Testa a vedere‹/›
Nota stroke-miterlimit, come tre percorsi utilizzano tre valori diversi, altrimenti sembrano quasi identici. Effetto dell'immagine dopo l'esecuzione:
La lunghezza della connessione delle linee viene chiamata lunghezza del trattino. La lunghezza del trattino è misurata dal angolo interno della connessione alla punta della connessione. In questa immagine, la lunghezza del trattino è disegnata in rosso sulla cima della connessione e ripetuta sulla destra della connessione:
Immagina che maggiore è la larghezza del percorso, maggiore è l'angolo tra le linee di connessione e più a lungo è il tempo del trattino.
In realtà, stroke-miterlimit imposta il limite superiore del rapporto tra la lunghezza del trattino e la larghezza del tratto. Pertanto, un stroke-miterlimit di 1.0 significa che la lunghezza del trattino massima è 1 x la larghezza del tratto. I trattini che superano questo intervallo. 1.0 è il valore minimo possibile per stroke-miterlimit.
Ecco alcuni esempi di utilizzo di 1.0 come valore di stroke-miterlimit, ma gli angoli delle linee di connessione sono diversi:
Nota che quando gli angoli sono grandi, la parte tagliata dell'angolo è più grande. Questo perché gli angoli acuti naturalmente producono trattini più lunghi.
L'attributo CSS di SVG stroke-dasharray viene utilizzato per disegnare i contorni delle forme SVG con tratti a tratteggio. Viene chiamato “array di trattini” perché fornisci un array numerico come valore. Questi valori definiscono la lunghezza dei trattini e degli spazi. Pertanto, dovresti fornire un numero pari di numeri.
Questo è un esempio di SVG stroke-dasharray:
<svg width="500" height="120"> <line x1="20" y1="20" x2="120" y2="20" style="stroke: #000000; fill:none; stroke-width: 6px; stroke-dasharray: 10 5</line> </svg>Testa a vedere‹/›
Questo esempio definisce una linea tratteggiata con larghezza tratteggiata di 10 pixel e intervallo di 5 pixel. Effetto dell'immagine dopo l'esecuzione:
Ecco alcuni esempi con diverse larghezze di trattini e spazi:
<svg width="500" height="120"> <line x1="20" y1="20" x2="120" y2="20" style="stroke: #000000; fill:none; stroke-width: 6px; stroke-dasharray: 10 5 5 5</line> <line x1="20" y1="40" x2="120" y2="40" style="stroke: #000000; fill:none; stroke-width: 6px; stroke-dasharray: 10 5 5 10</line> </svg>Testa a vedere‹/›
La prima riga inizia con una larghezza tratteggiata di 10 pixel, seguita da un intervallo di 5 pixel, quindi 5 pixel di tratteggiati, poi un altro intervallo di 5 pixel. Poi ripete il modello.
La seconda riga inizia con una larghezza tratteggiata di 10 pixel, seguita da un intervallo di 5 pixel, quindi 5 pixel di tratteggiati, infine 10 pixel di intervallo.
Effetto dell'immagine dopo l'esecuzione:
stroke-dashoffset viene utilizzato per impostare la distanza da cui inizia il modello tratteggiato. In questo modo, è possibile iniziare a tracciare dal mezzo di un disegno, ad esempio da metà di un disegno di schema, e ripetere il modello da lì. Ecco un esempio di SVG stroke-dashoffset:
<svg width="500" height="120"> <line x1="20" y1="20" x2="170" y2="20" style="stroke: #000000; fill:none; stroke-width: 6px; stroke-dasharray: 10 5; stroke-dashoffset: 5; "</svg> </svg>Testa a vedere‹/›
In questo esempio, dash-offset è impostato a 5 pixel, il che significa che la visualizzazione della linea tratteggiata inizia a 5 pixel dall'inizio del tratto tratteggiato (non tutti i browser supportano completamente questa funzione). Effetto dell'immagine dopo l'esecuzione:
L'attributo CSS stroke-opacity di SVG viene utilizzato per definire l'opacità del contorno delle forme SVG. Più il valore di stroke-opacity è vicino a 0, più la linea è trasparente. Più il valore è vicino a 1, più la linea è opaca. Il valore predefinito di stroke-opacity è 1, che significa che la linea è completamente opaca.
Questo è un esempio di SVG stroke-opacity, che mostra tre righe di testo con diversa stroke-opacity in alto:
<svg width="500" height="120"> <text x="22" y="40">Testo dietro la forma</text> <path d="M20,40 l50,0" style="stroke: #00ff00; fill:none; stroke-width:16px; stroke-opacity: 0.3; " ></path> <path d="M80,40 l50,0" style="stroke: #00ff00; fill:none; stroke-width:16px; stroke-opacity: 0.7; " ></path> <path d="M140,40 l50,0" style="stroke: #00ff00; fill:none; stroke-width:16px; stroke-opacity: 1; " ></path> </svg>Testa a vedere‹/›
Questo è l'immagine generata. Nota che il testo posteriore diventa sempre meno visibile.