Foruma hoş geldin 👋, Ziyaretçi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

Tailwind CSS'te Custom Font Ekleme: Font-Weight'ları Doğru Yüklemek İçin Font-Face Kullanımı

asternix

Üye
Katılım
14 Mart 2026
Mesajlar
23
Merhaba arkadaşlar, bugün başımı çok ağrıtan bir sorunu ve nasıl çözdüğümü anlatacağım. Projelerimde Tailwind CSS kullanmayı seviyorum ama custom font eklerken font-weight'lar (kalınlık değerleri) bir türlü doğru çalışmıyordu. Örneğin, font-weight: 700 yazdığımda tarayıcı bana otomatik olarak kalınlaştırılmış, çirkin bir font gösteriyordu. Bu hatayı ilk gördüğümde kafayı yemiştim çünkü tasarım tamamen bozuluyordu.

Araştırdım ve sorunun kaynağının, font dosyalarını @font-face kuralıyla yüklerken her bir font-weight ve font-style kombinasyonu için ayrı bir kural tanımlamamak olduğunu fark ettim. Tarayıcı, eksik tanımlanan ağırlıkları kendi "synthetic bold" özelliğiyle oluşturuyor ve bu da berbat bir görüntüye sebep oluyordu.

🔥 Karşılaştığım Sorun ve Yanlış Yöntem

İlk başta, font'u tek bir @font-face kuralıyla, sadece normal ağırlık (400) için yüklüyordum. Tailwind config'inde de fontFamily extend edip bırakıyordum. İşte o hatalı yaklaşım:

CSS:
/ Yanlış: Sadece normal ağırlık yüklendi /
@font-face {
  font-family: 'CustomFont';
  src: url('/fonts/custom-font-regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

Tailwind config'imde:
JavaScript:
// tailwind.config.js
module.exports = {
  theme: {
    extend: {
      fontFamily: {
        'custom': ['CustomFont', 'sans-serif'],
      },
    },
  },
}

Bu durumda, font-bold class'ını (font-weight: 700) kullandığımda, tarayıcı normal (400) font'u alıp kalınlaştırarak gösteriyordu. Sonuç: bulanık, okunması zor metinler.

✅ Doğru Çözüm: Her Ağırlık İçin Ayrı Font-Face

Çözüm, kullanacağınız her bir font-weight değeri için ayrı bir @font-face kuralı yazmak. Eğer font'unuzun italik (italic) versiyonu da varsa, onun için de ayrı kurallar (font-style: italic) yazmalısınız. İşte benim kullandığım en temiz çözüm:

CSS:
/ CSS dosyanıza (örneğin styles/globals.css) ekleyin /
/ Her ağırlık ve stil için ayrı kural /

/ Normal (400) /
@font-face {
  font-family: 'CustomFont';
  src: url('/fonts/custom-font-regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/ Kalın (700) /
@font-face {
  font-family: 'CustomFont';
  src: url('/fonts/custom-font-bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/ İnce (300) - Eğer dosyanız varsa /
@font-face {
  font-family: 'CustomFont';
  src: url('/fonts/custom-font-light.woff2') format('woff2');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

/ İtalik Normal (400 italic) /
@font-face {
  font-family: 'CustomFont';
  src: url('/fonts/custom-font-italic.woff2') format('woff2');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

/ İtalik Kalın (700 italic) /
@font-face {
  font-family: 'CustomFont';
  src: url('/fonts/custom-font-bold-italic.woff2') format('woff2');
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

Bu tanımlamalardan sonra, Tailwind config'inizde font-family'yi extend ettiğinizde artık her şey kusursuz çalışacak. font-light (300), font-normal (400), font-bold (700) ve italic class'ları, ilgili gerçek font dosyasını sorunsuzca yükleyecek.

💡 Pro Tip: Font Dosyalarınızı Optimize Edin

Bir de küçük bir tavsiye: Font dosyalarınızı mümkün olduğunca .woff2 formatında kullanın. En modern ve en iyi sıkıştırmaya sahip format. Ayrıca, font-display: swap kullanmak, font yüklenene kadar sistem fontunun gösterilmesini sağlar ve "FOIT" (Flash of Invisible Text) sorununu önler, kullanıcı deneyimini artırır.

Sonuç olarak, custom font eklerken sadece font-family tanımlamak yetmiyor. Tüm varyantları (weight, style) doğru şekilde @font-face kurallarıyla sisteme tanıtmak gerekiyor. Bu sayede hem tasarımınız bozulmaz hem de performans ve görsel kalite artar.

Siz Tailwind projelerinizde custom font eklerken benzer bir sorunla karşılaştınız mı? Ya da font optimizasyonu için farklı bir yöntem, harika bir tool kullanıyor musunuz? Yorumlarda paylaşalım!
 

Tema özelleştirme sistemi

Bu menüden forum temasının bazı alanlarını kendinize özel olarak düzenleye bilirsiniz.

Zevkine göre renk kombinasyonunu belirle

Tam ekran yada dar ekran

Temanızın gövde büyüklüğünü sevkiniz, ihtiyacınıza göre dar yada geniş olarak kulana bilirsiniz.

Geri