Uyarlanabilir site simgesi oluşturma

Uyarlanabilir site simgesi oluşturma hakkında temel bilgiler.

Bu yayında, SVG ile uyarlanabilir bir site simgesi oluşturma konusundaki düşüncelerimi paylaşmak istiyorum. Demoyu deneyin.

Tarayıcı sekmeleri, macOS sistemindeki açık ve koyu tema değişikliklerine uyarlanmış şekilde gösteriliyor. Demoyu Deneyin

Video tercih ediyorsanız bu yayının YouTube versiyonunu aşağıda bulabilirsiniz:

Genel Bakış

Özel bir site simgesi, web projelerini daha iyi hale getirmenin harika bir yoludur. Masaüstü tarayıcı sekmelerinde, "daha sonra okumak üzere kaydet" okuyucularında ve sitenize bağlantı veren diğer blog yayınlarında gösterilir. Geleneksel olarak bu işlem .ico dosya türüyle yapılırdı ancak son zamanlarda tarayıcılar, vektör biçimi olan SVG'nin kullanılmasına izin vermeye başladı. Aşamalı iyileştirme kullanarak iyi desteklenen .ico favicon'lar sunabilir ve varsa .svg favicon'a geçebilirsiniz.

SVG, kalite kaybı olmadan ölçeklenebilir ve boyutu çok küçük olabilir. Ayrıca yerleştirilmiş CSS'ler ve hatta yerleştirilmiş medya sorguları içerebilir. Bu nedenle, bir okuyucu uygulamasında veya yer işaretleri çubuklarında SVG favicon kullanılıyorsa kullanıcının, SVG içinde sağlanan koyu tercih stilleri nedeniyle temayla alakalı (açık veya koyu) bir simge görme olasılığı vardır. SVG, açık ve koyu kullanıcı tercihlerine göre yerleştirilmiş stilini kullanarak uyarlanır.

Açık ve koyu renkli favicon'ların büyük ve kolayca ayırt edilebilen örnekleri.

Her tarayıcıda, uyarlanabilir simgeye yukarıdan aşağıya genel bir bakış sunan açık ve koyu sekmeler: Safari, Firefox, Chrome.
Her tarayıcıda, uyarlanabilir simgeye yukarıdan aşağıya genel bakış sağlayan açık ve koyu sekmeler: Safari, Firefox, Chrome.

Brüt kar

SVG işaretlemesi, daha dinamik kod türleri içermesine olanak tanıyan bir .svg dosya türü uzantısı kullanan XML'dir.

favicon.svg oluşturarak başlayın

favicon.svg adlı yeni bir dosya oluşturun ve aşağıdakileri ekleyin:

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 400 400">

</svg>

SVG dosyamı ekliyorum. viewBox öğesini, resmime uygun boyutta ayarladım:

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 447 428">

</svg>

Şekil ve yol ekleme

Ardından, SVG yolu kodunu ekleyin. Bu genellikle SVG'nin bir kod düzenleyicide açılması anlamına gelir ancak bu kod genellikle kullanıcı dostu değildir. Tasarım araçlarından SVG'yi dışa aktarma ve optimize etme konusunda size yol gösterecek harika bir kılavuzu burada bulabilirsiniz.

Bu GUI Yarışması'nın sanat eseri, Adobe Illustrator'da oluşturulmuş bir tasarımcıya aittir. Bu tanımı büyük ölçüde optimize ettim. SVGOMG'den geçirdim ve ardından gereksiz kısımları manuel olarak düzenleyerek kaldırdım.

Temizlendikten sonraki skull çizim yolu grubumun bir örneğini burada görebilirsiniz:

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 447 428">
  <g id="skull">
    <path id="skull-outline" class="favicon-stroke" stroke-linejoin="round" d="M19.62 188.39A166.62 166.62 0 0 1 186.24 21.77c115.25 0 166.61 74.59 166.61 166.62 0 1.83-.08 3.64-.13 5.46h.13s.68 175.09.68 178.65c0 30.11-16.26 41.67-36.32 41.67-12.7 0-35.22-3.93-36.22-32.69h-.2c-1 28.76-16.81 32.69-36.22 32.69-18 0-32.87-6.78-35.77-32.53-2.9 25.75-17.8 32.53-35.8 32.53-20.06 0-36.32-11.56-36.32-41.67 0-2.48.36-24.88.36-24.88A166.68 166.68 0 0 1 19.62 188.39Z" />
    <path id="eyes-and-nose" d="M180.77 205.76c0 23.64 12.84 42.81 28.68 42.81s28.68-19.17 28.68-42.81-12.84-42.82-28.68-42.82-28.68 19.17-28.68 42.82M275 205.76c0 23.64 12.84 42.81 28.68 42.81s28.68-19.17 28.68-42.81-12.84-42.82-28.68-42.82S275 182.11 275 205.76M264.51 276.85s-29.26 43.53-20.12 49.23c7.07 4.41 20.49-16.71 20.49-16.71s12.82 22.58 16.76 20c16.24-10.71-17.13-52.5-17.13-52.5"/>
    <path id="jawline" class="favicon-stroke" fill="none" stroke-linecap="round" d="M114.92 284.33c22.54-1 22 7 22 62.48" />
  </g>
</svg>

#eyes-and-nose gibi kullanıcılar tarafından okunabilen kimlik seçicilere ve .favicon-stroke gibi sınıflara dikkat edin. Bunlar, CSS'ye hazırlık için yaptığım manuel düzenlemelerden kaynaklanıyor. SVG'nizin uyarlanabilir favicon olması için sınıf ve kimlik eklemeniz gerekmez.

HTML'nizin <head> etiketinde, .ico favicon'dan sonra aşağıdakileri ekleyin:

<link rel="icon" href="/favicon.ico" sizes="any">
<link rel="icon" href="/favicon.svg" type="image/svg+xml">

Yeni simge, .ico sürümüyle aynı görünebileceğinden kullanıldığını doğrulayın. Geliştirici Araçları'nın Ağ panelini açın. Resimlere göre filtreleme ve favicon arama:

Geliştirici Araçları&#39;ndaki Ağ bölmesinin, favicon için aranan bir filtre ve favicon.svg kaynağının vurgulandığı ekran görüntüsü.

Stiller

HTML'de olduğu gibi, bu belge kapsamına karşı kullanılmak üzere işaretlemeye bir <style> etiketi ekleyebilirsiniz:

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 447 428">
  <style>
    
  </style>
  …
</svg>

Açık tema sürümü, favicon SVG'min varsayılan rengi olacak. Bunun için yazdığım stiller çoğunlukla kontur ve dolgu renkleriydi:

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 447 428">
  <style>
    .favicon-stroke {
      stroke-width: 8px;
      stroke: #8929ff;
    }
    #skull-outline { fill: white }
    #eyes-and-nose, #hat-outline { fill: #8929ff }
    #hat-fill, #hat-bill { fill: #e662e6 }
  </style>
  
</svg>

Açık tema için örnek favicon önizlemesi.

Ardından, en eğlenceli kısım olan favicon'unuzun koyu tema sürümünü şekillendirme işlemine geçin. Bunun için stiller, stil etiketi içindeki bir medya sorgusuna girer:

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 447 428">
  <style>
    
    @media (prefers-color-scheme: dark) {
      /* dark theme styles */
    }
  </style>
  
</svg>

SVG&#39;nin göz ve burun dolgu renginin üzerine yazan koyu tema medya sorgusunu gösteren DevTools ekran görüntüsü.

Benimki şu şekilde oldu:

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 447 428">
  <style>
    
    @media (prefers-color-scheme: dark) {
      .favicon-stroke { stroke: #343a40 }
      #skull-outline { fill: #adb5bd }
      #hat-outline { fill: #343a40 }
      #eyes-and-nose { fill: #343a40 }
    }
  </style>
  
</svg>

Koyu tema için örnek favicon önizlemesi.

Parlak mor kenarlıkları güzel ve serin bir koyu gri (#343a40) ile değiştirdim, kafatası kemiğinin rengini beyazdan açık ve serin bir griye (#adb5bd) çevirdim ancak pembe şapkayı olduğu gibi bıraktım.

Hem açık hem de koyu temalı favicon&#39;ların yan yana önizlemesi.

Sonuç

Bunu nasıl yaptığımı öğrendiğinize göre, siz nasıl yapardınız? 🙂

Yaklaşımlarımızı çeşitlendirelim ve web'de içerik oluşturmanın tüm yollarını öğrenelim. Bir demo oluşturun, bağlantıları bana tweet atın. Ben de bu bağlantıları aşağıdaki topluluk remiksleri bölümüne ekleyeyim.

Topluluk remiksleri