Anasayfa » Kodlama » CSS3 Doğrusal Degradeler [CSS3 İpuçları]

    CSS3 Doğrusal Degradeler [CSS3 İpuçları]

    meyil CSS3'te harika bir renk özelliğidir. Artık tek bir renk eklemek yerine, görüntülere güvenmeden tek bir bildiri bloğuna birden fazla renk kombinasyonu ekleyebiliriz, bu da web sitemizdeki HTTP isteğini azaltabilir ve web sitesinin daha hızlı yüklenmesini sağlar.

    CSS3'te degradelerle oynadıysanız, muhtemelen iki yönteme aşinasınız: radyal ve doğrusal degrade. Bugünün yazısı ikinci olacak.

    Degradeler Yaratmak

    Spesifikasyonun CSS3'teki degradelerin bir resim olduğunu söylediği gibi, diğer yeni özellik eklemeleri gibi özel bir özelliği yoktur, bu yüzden arka plan görüntüsü özellik yerine.

    Gradyan için tüm sözdizimine bakarsak, biraz görünüyor doldurularak kaplanmış, bazı insanlar için kafa karışıklığına neden olabilir.

     div background-image: -webkit-linear-gradyan (üst, # FF5A00% 0, # FFAE00% 100); background-image: -moz-linear-gradyan (üst, # FF5A00% 0, # FFAE00% 100); background-image: -ms-linear-gradyan (üst, # FF5A00% 0, # FFAE00% 100); arka plan görüntüsü: -o-doğrusal-gradyan (üst, # FF5A00% 0, # FFAE00% 100); arka plan görüntüsü: doğrusal gradyan (üst, # FF5A00% 0, # FFAE00% 100);  

    Öyleyse olayları daha net hale getirmek için sözdiziminin her bir bölümünü tek tek inceleyelim.

    Her şeyden önce, doğrusal gradyan ile bildirilir lineer gradyan () işlevi. İşlev üç birincil değere sahiptir. İlk değer, gradyan başlangıç ​​konumunu tanımlar. Açıklayıcı bir anahtar kelimeyi kullanabilirsiniz. üst içinden akan gradyanı başlatmak için üst;

     div background-image: doğrusal degrade (üst, # FF5A00, # FFAE00);  

    Yukarıdaki kod parçası, gradyanlar oluşturmak için W3C'nin resmi sürümüdür. Aslında daha basit ve oldukça açıklayıcıdır ve aşağıdaki gradyanı yaratacaktır..

    Ayrıca kullanabilirsiniz alt tersini yapmak sağ ve ayrıldı.

    Ayrıca kullanarak bir çapraz degrade oluşturabiliriz. açı derecesi gradyan başlangıç ​​konumu olarak. İşte bir örnek:

     div background-image: doğrusal gradyan (45deg, # FF5A00, # FFAE00);  

    Yukarıdaki kod parçası, aşağıdaki renk gradyanını oluşturur:

    İşlevin ikinci değeri ilk renk bilgi ve durma pozisyonu yüzde olarak belirtilir. Durma konumu aslında isteğe bağlıdır; tarayıcı doğru konumu belirleyecek kadar akıllıdır, bu nedenle ilk rengin durmasını belirtmediğimizde tarayıcı 0% varsayılan olarak.

    Ve, bir sonraki değer ikinci renk kombinasyon. Önceki değer gibi çalışır, yalnızca uygulanan son renk ise ve durma pozisyonu, değeri 100% varsayılan olarak alınacaktır. Şimdi, aşağıdaki örneğe bakalım:

     div background-image: doğrusal gradyan (üst, # FF5A00% 0, # FFAE00% 100);  

    Yukarıdaki snippet, daha önce gördüğümüz gibi bir degrade oluşturur (fark yok) ancak şimdi renk durma konumunu belirtiriz;

    Şimdi değiştirelim renk durağı, ve bu sefer belirleyeceğiz % 50 ilk renk için ve % 51 ikinci renk için ve nasıl sonuçlandığını görelim;

     div background-image: doğrusal gradyan (üst, # FF5A00% 50, # FFAE00% 51);  

    şeffaflık

    oluşturma şeffaflık Gradyan da mümkündür. Efekti oluşturmak için rengi çevirmemiz gerekir büyü içine RGBA modu ve alfa kanalı düşürmek.

     div background-image: doğrusal gradyan (üst, rgba (255,90,0,0.2), rgb (255,174,0,0.2));  

    Yukarıdaki snippet, renk yoğunluğunu azaltacaktır % 20, ve gradyan bu şekilde ortaya çıkacaktır:

    Birden çok renk

    Daha fazla renk eklenmesini istiyorsanız, sadece virgül sınırlayıcıyla yan yana renkleri ekleyin ve tarayıcının her bir renk durağının konumunu belirlemesini sağlayın.

     div background-image: doğrusal gradyan (üst, kırmızı, turuncu, sarı, yeşil, mavi, çivit mavisi);  

    Yukarıdaki snippet, aşağıdaki gökkuşağı oluşturur.

    Tarayıcı Uyumluluğu

    Maalesef, bu yazının yazıldığı sırada, mevcut tarayıcıların tümü standart sözdizimini desteklememiştir. Hala satıcı önekine ihtiyaçları var (-webkit-, -moz-, -MS- ve -O-). Bu yüzden, söz diziminin tamamı şöyle görünmektedir:

     div background-image: -webkit-linear-gradyan (üst, # FF5A00% 0, # FFAE00% 100); background-image: -moz-linear-gradyan (üst, # FF5A00% 0, # FFAE00% 100); background-image: -ms-linear-gradyan (üst, # FF5A00% 0, # FFAE00% 100); arka plan görüntüsü: -o-doğrusal-gradyan (üst, # FF5A00% 0, # FFAE00% 100); arka plan görüntüsü: doğrusal gradyan (üst, # FF5A00% 0, # FFAE00% 100);  

    Öte yandan, Internet Explorer, özellikle sürüm 9 ve altı, standarttan uzak. Degrade IE9 ve altı ile ilan edilir filtre, bu tarayıcılara degrade eklemek istiyorsak, bunun gibi bir şey yazmalıyız;

     div filter: progid: DXImageTransform.Microsoft.gradient (startColorstr = # FF5A00, endColorstr = # FFAE00);  

    filtre sınırlamaları var: ilk olarak, üçten fazla renk eklenmesine izin vermiyor ve şeffaflık efekti oluşturmak da biraz zor - izin vermiyor RGBA, ama IE filtre kullanımları #ARGB;

     div filter: progid: DXImageTransform.Microsoft.gradient (startColorstr = # 33FF5A00, endColorstr = # 33FFAE00);  

    İşte dönüştürmenize yardımcı olacak bir araçtır RGBA için #ARGB.

    • gösteri
    • Kaynak İndir

    Sözdizimini Daha Hızlı Yazma

    Yukarıda görebileceğiniz gibi, tarayıcılar arasındaki gradyan uyumluluğunu korumak için, verimsiz olan beş kod satırı eklememiz gerekir.

    Görevi basitleştirmek için yapabileceğimiz birçok yol var; Kodları derlemeye yardımcı olmak için Önek ücretsiz, Önek, LESS veya Sass kullanma gibi, ancak hepsinden önemlisi, bu aracı ColorZilla Gradient kullanmanızı öneririz. Bu araç, degradelerin tüm tarayıcılarda çalışması için gerekli tüm kodları oluşturacaktır.

    Son sözler

    Bugün degradeler oluşturma konusunda epeyce tartıştık, sözdiziminin her bir bölümüne baktık, şeffaf efektler yarattık ve tarayıcı uyumluluğunu koruduk. Dolayısıyla, bu noktada, konuyla ilgili daha iyi bir anlayışa sahip olduğunuzu umuyoruz..

    Hala araştırmayı planladığımız birçok şey var. CSS3 Degradeleri Gelecekteki yayınlarımızda, bu yüzden Hongkiat.com'u takip etmeye devam edin. Son olarak, bu yazıyı okuduğunuz için teşekkür ederiz, hoşunuza gittiğini umuyoruz.

    Daha fazla okuma

    • Kurşun geçirmez çapraz tarayıcı RGBA arka planlar - Lea Verou
    • CSS3 Görüntü - W3.org
    • CSS3 Gradyanlarını ne zaman kullanabilirim - CanIUse.com