Ana Sayfa/Blog/SVG Nedir? Web İçin Vektör Grafik Rehberi

SVG Nedir? Web İçin Vektör Grafik Rehberi

SVG (Scalable Vector Graphics), XML tabanlı bir vektör grafik formatıdır. Piksel tabanlı görsellerden (PNG, JPG) farklı olarak, SVG dosyaları matematiksel formüllerle tanımlanır ve bu sayede herhangi bir boyuta ölçeklendiğinde kalite kaybı yaşanmaz. Logolar, ikonlar, illüstrasyonlar ve veri görselleştirmeleri için ideal bir formattır.

Neden SVG Kullanmalı?

SVG Temel Yapısı

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="200" height="200">
  <circle cx="50" cy="50" r="40" fill="#3b82f6" />
</svg>

xmlns niteliği XML ad alanını, viewBox ise SVG'nin iç koordinat sistemini tanımlar.

viewBox Nedir?

viewBox="min-x min-y width height" formatında yazılır ve SVG'nin "görüş alanını" belirler. Bu sayede SVG'yi herhangi bir boyuta ölçekleyebilirsiniz.

<!-- 0,0'dan başlayan 100x100'lük bir alan -->
<svg viewBox="0 0 100 100">
  <!-- Bu dairenin merkezi (50,50), yarıçapı 40 -->
  <circle cx="50" cy="50" r="40" />
</svg>

width ve height nitelikleri SVG'nin HTML'deki boyutunu, viewBox ise iç koordinat sistemini belirler. viewBox ile width/height farklı olabilir — SVG otomatik olarak ölçeklenir.

Temel SVG Şekilleri

<!-- Dikdörtgen -->
<rect x="10" y="10" width="80" height="40" rx="5" fill="#10b981" />

<!-- Daire -->
<circle cx="50" cy="50" r="30" fill="#f59e0b" />

<!-- Elips -->
<ellipse cx="50" cy="50" rx="40" ry="25" fill="#8b5cf6" />

<!-- Çizgi -->
<line x1="10" y1="10" x2="90" y2="90" stroke="#ef4444" stroke-width="2" />

<!-- Çokgen -->
<polygon points="50,5 90,90 10,90" fill="#06b6d4" />

<!-- Metin -->
<text x="50" y="55" text-anchor="middle" font-size="16">Merhaba</text>

Path Komutları

<path> elemanı, SVG'nin en güçlü ve esnek şekil aracıdır. Tüm karmaşık şekiller path ile çizilir.

<path d="M 10 80 Q 50 10 90 80" stroke="#3b82f6" fill="none" stroke-width="2" />

Temel path komutları:

Küçük harfler (m, l, q vb.) göreli koordinat, büyük harfler mutlak koordinat kullanır.

CSS ile SVG Stillendirme

/* Inline SVG stilleri */
svg .icon-path {
  fill: var(--primary-color);
  transition: fill 0.3s ease;
}
svg .icon-path:hover {
  fill: var(--hover-color);
}

/* Stroke animasyonu */
.draw-line {
  stroke-dasharray: 200;
  stroke-dashoffset: 200;
  animation: draw 1s ease forwards;
}
@keyframes draw {
  to { stroke-dashoffset: 0; }
}

SVG Erişilebilirliği

SVG'leri erişilebilir yapmak için şu adımları izleyin:

<svg role="img" aria-labelledby="title desc">
  <title id="title">Pasta Grafiği</title>
  <desc id="desc">2026 yılı satış dağılımını gösteren pasta grafiği</desc>
  <!-- grafik içeriği -->
</svg>

SVG Optimizasyonu

SVG dosyalarını küçültmek için şu teknikleri uygulayın:

Görsellerinizi SVG formatına dönüştürmek mi istiyorsunuz? SiteScripti'nin SVG Dönüştürücü aracıyla görsellerinizi kolayca vektör formatına çevirebilirsiniz.

Bu konuyla ilgili araçlarımızı da deneyin: SVG Dönüştürücü, Format Dönüştürücü, Görsel Sıkıştırma

← Tüm Yazılar