2013-08-27 20 views
6

Mi piacerebbe disegnare alcuni sprite SVG usando un foglio di stile esterno, come descritto in questoe W3C Styling with SVG.CSS per SVG "standard" CSS?

Tuttavia, il CSS non è molto, ehm, serie:

rect { 
    fill: red; 
    stroke: blue; 
    stroke-width: 3 
} 

in quanto non convalida con il W3C CSS Validator.

Cosa dà?

+0

Mentre si utilizzano SVG di uno stile con CSS, non tutti gli stili legali SVG sono css validi, in pratica. – enhzflep

risposta

8

CSS per SVG "standard" CSS?

No, non lo è. Utilizza la lingua CSS , ma non è nelle specifiche della proprietà CSS. È solo una parte delle specifiche SVG. È piuttosto simile all'utilizzo di estensioni di fornitori non standard, in quanto mentre i prefissi sono definiti nella grammatica CSS, le proprietà con prefisso non vengono effettivamente convalidate come CSS solo perché non standard.

Si suppone che si debba scegliere il profilo di convalida SVG durante la convalida del codice, ma non sembra funzionare; sputa altrettanti errori come sarebbe la convalida secondo le specifiche CSS. In tal caso, probabilmente è un bug di validazione.

9

Per convalidare SVG usando il W3C CSS Validator, alla voce "Altre opzioni" cambiare il profiloin SVG

3

Alcune strutture sono standard CSS per esempio mostra, e alcuni non lo sono; si applicano solo al contenuto SVG, ad es. riempire. Sono tutti listed here.

Non credo che c'è un facile da digerire elenco dei quali è che, ma se si fa clic su una proprietà individuale, come display nel SVG specification property list (display sembra essere una proprietà CSS standard), allora si ottiene questo testo nel Standard SVG alla fine della definizione:

Fatta eccezione per qualsiasi ulteriore informazione fornita in questa specifica, la definizione normativa della proprietà 'display' è la definizione CSS2 ([CSS2], sezione 9.2.6).