Renk geçişi

CSS Podcast - 021: Gradyanlar

Oluşturacağınız bir siteniz olduğunu ve en üstte başlık, özet ve düğme bulunan bir giriş olduğunu düşünün. Tasarımcı, bu giriş için arka planı mor olan bir tasarımı teslim etti. Tek sorun, arka planın gradyan olarak iki mor tonuna sahip olmasıdır. Bunu nasıl yapabilirsiniz?

Başlık, paragraf ve bağlantı içeren koyudan açık mor renkli gradyan arka plan.

Başlangıçta bunun için tasarım aracınızdan bir resmi dışa aktarmanız gerektiğini düşünebilirsiniz, ancak bunun yerine bir linear-gradient kullanabilirsiniz.

Gradyan bir resimdir ve resimlerin kullanılabileceği her yerde kullanılabilir. Ancak CSS ile oluşturulur ve renkler, sayılar ve açılardan oluşur. CSS renk geçişleri, birden fazla renk geçişini karıştırıp tekrarlayarak iki renk arasındaki yumuşak geçişten etkileyici çizimlere kadar her şeyi oluşturmanıza olanak tanır.

Çizgisel renk geçişi

Tarayıcı Desteği

  • 26
  • 12
  • 16
  • 7

Kaynak

linear-gradient() işlevi, aşamalı olarak iki veya daha fazla renkten oluşan bir görüntü oluşturur. Birden fazla bağımsız değişken alır ancak en basit yapılandırmasında, bunun gibi birkaç renk iletebilirsiniz. Bu renkler, karıştırılırken otomatik olarak eşit bir şekilde bölünecektir.

.my-element {
    background: linear-gradient(black, white);
}

Ayrıca, bir açıyı temsil eden bir açı veya anahtar kelimeler de geçirebilirsiniz. Anahtar kelimeleri kullanmayı tercih ederseniz to anahtar kelimesinden sonra bir yön belirtin. Yani, soldan (siyah) sağa (beyaz) doğru ilerleyen, siyah beyaz bir renk geçişi istiyorsanız ilk bağımsız değişken olarak açıyı to right olarak belirtirsiniz.

.my-element {
    background: linear-gradient(to right, black, white);
}

Bir rengin durduğu ve komşularıyla karıştığı durumlarda tanımlanan renk durdurma değeri. Koyu kırmızı tonundan 45 derecelik bir açıyla başlayan bir renk geçişi için renk geçişi boyutunun% 30'u daha açık kırmızıya dönüşür: Renk geçişi şu şekildedir:

.my-element {
    background: linear-gradient(45deg, darkred 30%, crimson);
}

linear-gradient() ile istediğiniz kadar renk ve renk noktası ekleyebilir ve her bir renk geçişini virgülle ayırarak birbirinin üzerine katman olarak yerleştirebilirsiniz.

Dairesel renk geçişi

Tarayıcı Desteği

  • 26
  • 12
  • 16
  • 7

Kaynak

Dairesel olarak yayılan bir renk geçişi oluşturmak için radial-gradient() işlevi bu konuda size yardımcı olur. linear-gradient() ile benzerdir, ancak açı belirtmek yerine isteğe bağlı olarak bir konum ve bitiş şekli belirtebilirsiniz. Yalnızca renkleri belirtirseniz radial-gradient(), konumu otomatik olarak center şeklinde seçer ve kutunun boyutuna bağlı olarak bir daire veya elips seçer.

.my-element {
    background: radial-gradient(white, black);
}

Renk geçişinin konumu, anahtar kelimeler ve/veya sayı değerleri kullanılan background-position ile benzerdir. Dairesel renk geçişinin boyutu, renk geçişinin bitiş şeklinin (daire veya elips) boyutunu belirler ve varsayılan olarak farthest-corner olur. Bu değer, kutunun merkeze olan en uzak köşesiyle tam olarak eşleştiği anlamına gelir. Aşağıdaki anahtar kelimeleri de kullanabilirsiniz:

  • closest-corner, renk geçişinin merkezine en yakın köşeyle buluşur.
  • closest-side, kutunun ortasına en yakın kenarla buluşur.
  • farthest-side, closest-side özelliğinin tersini yapar.

linear-gradient öğesinde olduğu gibi, istediğiniz kadar renk noktası ekleyebilirsiniz. Benzer şekilde, istediğiniz kadar radial-gradients ekleyebilirsiniz.

Konik gradyan

Tarayıcı Desteği

  • 69
  • 79
  • 83
  • 12.1

Kaynak

Konik renk geçişinin kutusunda merkez noktası vardır, yukarıdan başlar (varsayılan olarak) ve 360 derecelik bir daire içinde döner.

.my-element {
    background: conic-gradient(white, black);
}

conic-gradient() işlevi, konum ve açı bağımsız değişkenlerini kabul eder.

Varsayılan olarak açı 0 derecedir (üstte merkezden başlar). Açıyı 45deg olarak ayarlarsanız sağ üst köşe olur. Açı bağımsız değişkeni, doğrusal ve dairesel renk geçişleri gibi her tür açı değerini kabul eder.

Konum, varsayılan olarak ortadadır. Dairesel ve doğrusal renk geçişlerinde olduğu gibi konumlandırma anahtar kelime tabanlı olabilir veya sayısal değerlerle tanımlanabilir.

Diğer renk geçişi türlerinde olduğu gibi istediğiniz kadar renk noktası ekleyebilirsiniz. Konik gradyanlar sayesinde bu özellik, CSS ile pasta grafikler oluşturmak için iyi bir kullanım alanıdır.

Tekrar etme ve karıştırma

Her renk geçişi türünün tekrarlanan bir türü de vardır. repeating-linear-gradient(), repeating-radial-gradient() ve repeating-conic-gradient(). Tekrarlanmayan işlevlere benzerler ve aynı bağımsız değişkenleri alırlar. Aradaki fark, tanımlanan renk geçişinin, her iki boyutuna da bağlı olarak kutuyu doldurmak için tekrarlanabilmesidir.

Renk geçişiniz tekrarlanmıyorsa, muhtemelen renk duraklarından biri için uzunluk ayarlamamışsınızdır. Örneğin, renk durdurma uzunluklarını ayarlayarak repeating-linear-gradient içeren çizgili bir arka plan oluşturabilirsiniz.

.my-element {
  background: repeating-linear-gradient(
    45deg,
    red,
    red 30px,
    white 30px,
    white 60px
  );
}

Ayrıca, arka plan resminde olduğu gibi renk geçişi işlevlerini background özelliklerinde karıştırabilir ve istediğiniz sayıda renk geçişi tanımlayabilirsiniz. Örneğin, birden çok doğrusal renk geçişini veya dairesel renk geçişiyle iki doğrusal renk geçişini birlikte kullanabilirsiniz.

Kaynaklar

Öğrendiklerinizi sınayın

Gradyan bilginizi test edin

Renk geçişi oluşturmak için gereken minimum renk sayısı nedir?

1
Tekrar deneyin.
2
Bunlar aynı renkte olabilir ve düz görünebilir ancak evet, en az 2 renk gereklidir.
3
Tekrar deneyin.
4
Tekrar deneyin.

Öğelerin arka planında birden fazla renk geçişi olabilir mi?

Doğru
background-image özelliği, çok sayıda renk geçişine izin verir. Renk geçişlerini virgülle ayırmanız yeterlidir.
Yanlış
Ama evet, yapabilirler.