SVG
Børre Stenseth

CSS i SVG

Hva

SVG-elementene har en del attributter som vi ikke finner i "normale" HTML-elementer. Vi kan likevel i stor grad bruke CSS til sette en del egenskaper. Dette er bare for å peke på et ganske stort og ikke helt uproblematisk grensenitt (SVG/CSS).

Et enkelt eksempel

_svg
<svg id="demo1" width="300px" height="70px"  viewBox="0 0 300 60">
<g id="d1">
    <rect id="d11" x="10" y="10" width="28" height="30"/>        
    <rect id="d12" x="70" y="10" width="28" height="30"/>        
    <rect class="greenish"  x="130" y="10" width="28" height="30"/>        
    <rect class="pinkish bigborder" x="190" y="10" width="28" height="30"/>
</g>    
</svg>

Stilsettet er slik:

_style1

Animasjon

Vi kan bruke CSS-transformasjoner på mange måter. Mer dynamisk CSS dette i CSS

eksempel2

Klikk på den røde firkanten

_svg2
<svg class="markedsvg" width="400px" height="100px" viewBox="0 0 400 100">
    <rect class="test2B" x="1" y="1" width="30" height="50"  
    onclick="toggleClasses2(this)" fill="red"/>
</svg>

Stilsettet er slik:

_style2

og Javascriptkoden slik:

_script2

eksempel3

Klikk på den røde firkanten

_svg3
<svg class="markedsvg" width="400px" height="100px" viewBox="0 0 400 100">
    <rect class="test3B" x="1" y="1" width="30" height="50"  
    onclick="toggleClasses3(this)" fill="red"/>
</svg>

Stilsettet er slik:

_style3

og Javascriptkoden slik:

_script3