Sök…


viewBox

ViewBox-attributet definierar koordinatsystemet för ett <svg> -element. Detta gör att du enkelt kan ändra storleken och den relativa andelen av en SVG-grafik utan att behöva justera positionen och måtten för varje enskilt ritat element.

<!-- stretches a small icon to 60px square -->
<svg viewBox="0 0 16 16" height="60px" width="60px">
    <path d="M16 6.216l-6.095-.02L7.98.38 6.095 6.196 0 6.215h.02l4.912 3.57-1.904 5.834h.02l4.972-3.59 4.932 3.59-1.904-5.815L16 6.215" />
</svg>

Den koden ser ut så här:

stor 60px stjärnaikon

Utan viewBox ser det ut så här:

liten 16px stjärnaikon

preserveAspectRatio

preserveAspectRatio är ett attribut som indikerar om bilden ska skalas enhetligt. Detta attribut fungerar bara om <svg> -elementet också har en viewBox .

Standardvärdet är xMidYMid , som upprätthåller bildförhållandet och centrerar sökvägen inuti SVG-behållaren:

<!-- when not included `preserveAspectRatio` defaults to `xMidYMid` -->
<svg viewBox="0 0 16 16" height="60" width="120">
    <path d="M16 6.216l-6.095-.02L7.98.38 6.095 6.196 0 6.215h.02l4.912 3.57-1.904 5.834h.02l4.972-3.59 4.932 3.59-1.904-5.815L16 6.215" />
</svg>

stjärna som är centrerad i behållaren

När preserveAspectRatio är inställd på none sträcker sig ikonen så att den passar i rutan:

<svg viewBox="0 0 16 16" height="60" width="120" preserveAspectRatio="none">
    <path d="M16 6.216l-6.095-.02L7.98.38 6.095 6.196 0 6.215h.02l4.912 3.57-1.904 5.834h.02l4.972-3.59 4.932 3.59-1.904-5.815L16 6.215" />
</svg>

stjärna som har sträckts

Det finns många andra värden för preserveAspectRatio , men dessa två är överlägset de vanligaste.

preserveAspectRatio - träffa och skiva attribut

Attributet preserveAspectRatio har en valfri parameter: meet | slice . Standardbeteendet är att meet vilket sträcker innehållet i både x- och y-dimensionen tills det fyller antingen bredden eller höjden på viewBox. Alternativet - slice bevarar innehållets bildförhållande, men skalar upp grafiken tills den fyller både bredden och höjden på visningsrutan (klipper ut innehållet som översvämmar viewBox).

Detta är exemplet med slice

<svg viewBox="0 0 16 16" height="60px" width="120px" preserveAspectRatio="xMinYMin slice">
<path d="M16 6.216l-6.095-.02L7.98.38 6.095 6.196 0 6.215h.02l4.912 3.57-1.904 5.834h.02l4.972-3.59 4.932 3.59-1.904-5.815L16 6.215" />

som görs som:

ange bildbeskrivning här

och samma exempel med meet

    <svg viewBox="0 0 16 16" height="60px" width="120px" preserveAspectRatio="xMinYMin meet">
    <path d="M16 6.216l-6.095-.02L7.98.38 6.095 6.196 0 6.215h.02l4.912 3.57-1.904 5.834h.02l4.972-3.59 4.932 3.59-1.904-5.815L16 6.215" />
</svg>

som görs som:

ange bildbeskrivning här



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow