Anasayfa » Kodlama » CSS3 Eğitimi Bir Açık / Kapalı Düğmesi Oluşturma

    CSS3 Eğitimi Bir Açık / Kapalı Düğmesi Oluşturma

    Bu makale bizim bölümümüzün bir parçası. "HTML5 / CSS3 Dersleri serisi" - sizi daha iyi bir tasarımcı ve / veya geliştirici yapmanıza yardımcı olmak için. Buraya TIKLAYIN Aynı serideki daha fazla makale görmek için.

    Bir düğme kullanmak, şimdiye kadar, elektronik bir şeyle etkileşime girmek için tercih edilen yoldur; radyo, TV, müzik çalar ve hatta sesli komut özelliğine sahip bir akıllı telefon gibi hala en az bir veya iki fiziksel düğmeye ihtiyaç duyuyor.

    Ayrıca, bu dijital çağda buton Dijital haliyle de gelişti, bu fiziksel düğmeyle kıyaslandığında onu daha etkileşimli, dinamik ve gerçek anlamda kolay hale getiriyor.

    Yani, bu sefer, sadece CSS kullanarak Dribbble'da bu mükemmel tasarıma dayanan kaygan ve etkileşimli bir düğme yaratacağız..

    Hadi başlayalım.

    HTML

    Aşağıdaki işaretlemeyi HTML belgesine yerleştirerek başlayacağız. Bu gerçekten basit, düğme bir tutturucu etiketine dayalı olurdu, biz de bir karış gösterge ışığını oluşturmak için yanında, ardından bir HTML5'in içine sarılırlar Bölüm etiket.

     
    & # XF011;

    Düğmemiz başlangıçta nasıl görünüyor?.

    Temel stil

    Bu bölümde, üzerinde çalışmaya başlayacağız stiller.

    Öncelikle bu koyu arkaplanı İnce Desen'den vücudun belgesine uygulıyoruz ve Bölüm. Sonra noktalıleri de kaldırırız. taslak üzerine : odak ve :aktif bağlantı.

     body background: url ('images / micro_carbon.png');  bölüm marj: 150 piksel otomatik 0; genişlik: 75px; yükseklik: 95 piksel; pozisyon: göreceli; metin hizalama: orta; : aktif,: focus outline: 0;  

    Özel Yazı Tipini Kullanma

    Düğmenin simgesi için, resim yerine Font Awesome'den özel bir font kullanıyor olacağız. Bu şekilde simge, stil sayfasında kolayca stillenebilir ve ölçeklenebilir olur.

    Yazı tipini indirin, yazı tipi dosyalarını (eot, woff, ttf ve svg) saklayın. yazı klasöre yazıp, aşağıdaki yeni kodu yazı tipi ailesini tanımlamak için stil sayfanıza yerleştirin..

     @ font-face font-ailesi: "FontAwesome"; src: url ("yazı tipleri / fontawesome-webfont.eot"); src: url ("yazı tipleri / fontawesome-webfont.eot? #iefix") biçimi ('eot'), url ("yazı tipleri / fontawesome-webfont.woff") biçimi ('woff'), url ("yazı tipleri / fontawesome- webfont.ttf ") formatı ('truetype'), url (" fontlar / fontawesome-webfont.svg # FontAwesome ") formatı ('svg'); yazı tipi ağırlığı: normal; yazı tipi stili: normal;  

    güç simgesi Bu düğme için ihtiyacımız olan Unicode sayısında gösteriliyor. F011; Yukarıdaki HTML işaretlemesine yakından bakarsanız, bu sayısal karakteri koyduk. & # XF011; bağlantı etiketi içinde, ancak biz özel tanımıyoruz font ailesi düğme stilinde, simge henüz doğru şekilde oluşturulmadı.

    Daha fazla okuma: Unicode ve HTML: Belge Karakterleri

    Düğmeyi Şekillendirme

    Her şeyden önce, gelenekleri tanımlamamız gerekir font ailesi düğme için.

    Bizim düğmesi bir daire olacak, kullanarak daire efekti elde edebilirsiniz border-radius özelliği ve değeri en az düğmenin yarısı olarak ayarlayın. Genişlik.

    Simge için bir yazı tipi kullandığımızdan, renk ve Ekle Metin gölgesi stil sayfasındaki simge için de.

    Ardından, düğme için eğimli bir efekt de oluşturacağız. Bu etki oldukça karmaşık. İlk önce başvurmamız gerekiyor arkaplan rengi: rgb (83,87,93); düğmenin renk tabanı için, daha sonra dört katman ekleriz. Kutu gölgeler.

     bir font-family: "FontAwesome"; renk: rgb (37,37,37); text-shadow: 0px 1px 1px rgba (250,250,250,0.1); yazı tipi boyutu: 32pt; Ekran bloğu; pozisyon: göreceli; metin dekorasyon: yok; arkaplan rengi: rgb (83,87,93); kutu-gölge: 0px 3px 0px 0px rgb (34,34,34), / * 1. Gölge * / 0px 7px 10px 0px rgb (17,17,17) / , 250, 250, .2), / * 3. Gölge * / ek 0px -12px 35px 0px rgba (0, 0, 0, 5); / * 4. Gölge * / genişlik: 70 piksel; yükseklik: 70px; sınır: 0; sınır yarıçapı: 35 piksel; metin hizalama: orta; hat yüksekliği: 79px;  

    Ayrıca düğmenin dışında daha büyük bir daire vardır ve biz :önce sözde eleman bunun için fazladan biçimlendirme eklemek yerine.

     a: önce content: ""; genişlik: 80px; yükseklik: 80px; Ekran bloğu; z-endeksi: -2; pozisyon: mutlak; arkaplan rengi: rgb (26,27,29); solda: -5px; üst: -2px; sınır yarıçapı: 40 piksel; kutu-gölge: 0px 1px 0px 0px rgba (250,250,250,0.1), ek 0px 1px 2px rgba (0, 0, 0, 0.5);  

    Daha fazla okuma: CSS: öncesi ve sonrası sözde elemanları (Hongkiat.com)

    Gösterge ışığı

    Düğmenin altında, Güç Açık ve Kapalı durumunu belirlemek için küçük bir ışık vardır. Altta, ışığın rengine kırmızı uyguladık çünkü güç başlangıçta KAPALI, kutu gölge ışığın parıltı etkisini taklit etmek.

     a + span display: block; genişlik: 8px; yükseklik: 8px; arkaplan rengi: rgb (226,0,0); kutu-gölge: iç içe 0px 1px 0px 0px rgba (250,250,250,0.5), 0px 0px 3px 2px rgba (226,0,0,0.5); sınır yarıçapı: 4px; ikisini de temizle; pozisyon: mutlak; alt: 0; solda:% 42;  

    Etki

    Bu noktada düğmemiz iyi görünmeye başlar ve sadece üzerinde bazı efektler eklememiz gerekir, örneğin, düğme 'tıklandığında', düğmenin basılı tutulduğu gibi görünmesini istiyoruz.

    Etkisi elde etmek için, ilk kutu gölge düğmedeki sıfırlanır ve konum biraz düşürülür. Ayrıca diğer üç gölgenin yoğunluğunu düğme konumuna uyacak şekilde biraz ayarlamamız gerekir..

     a: etkin kutu gölge: 0 piksel 0 piksel 0 piksel 0 piksel rgb (34,34,34), / * İlk Gölge * / 0 piksel 3 piksel 7 piksel x piksel 0 piksel rgb (17,17,17), / * 2. Gölge * / metin 0 piksel 1 piksel 1 piksel 0px rgba (250, 250, 250, .2), / * 3. Gölge * / ek 0px -10px35px5px rgba (0, 0, 0, 5); / * 4. Gölge * / arka plan rengi: rgb (83,87,93); üst: 3 piksel;  

    Ayrıca, düğmeye tıklandığında, basılı kalmalı ve gücün AÇIK olduğunu belirtmek için simgenin 'parlaması' gerekir.

    Böyle bir etki elde etmek için düğmesini kullanarak düğmeyi hedefleyeceğiz. :hedef Sözde sınıf, sonra simgenin rengini beyaz olarak değiştirin ve bir Metin gölgesi yanı sıra beyaz renk ile.

     a: target box-shadow: 0px 0px 0px 0px rgb (34,34,34), 0px 3px 7px 0px rgb (17,17,17), iç metin 0px 1px 1px 0px rgba (250, 250, 250, .2) , iç içe geçmiş 0px-10px35px5px rgba (0, 0, 0,5); arkaplan rengi: rgb (83,87,93); üst: 3 piksel; renk: #fff; metin gölgesi: 0 piksel 0 piksel 3 piksel rgb (250,250,250);  

    Daha fazla okuma: Kullanma: target Sözde sınıf

    Biz de ayarlamak gerekir kutu gölge düğmenin dışındaki dairede aşağıdaki gibi.

     a: active: before, a: target: before top: -5px; arkaplan rengi: rgb (26,27,29); kutu-gölge: 0px 1px 0px 0px rgba (250,250,250,0.1), ek 0px 1px 2px rgba (0, 0, 0, 0.5);  

    Işık göstergesi, gücün zaten AÇIK olduğunu vurgulamak için varsayılan kırmızıdan yeşil renge döner.

     a: hedef + açıklık kutu-gölge: ek 0px 1px 0px 0px rgba (250,250,250,0.5), 0px 0px 3px 2px rgba (135,187,83,0.5); arkaplan rengi: rgb (135,187,83);  

    Geçiş Etkisi

    Son olarak, düğmenin efektinin sorunsuz çalışmasını sağlamak için aşağıdaki geçiş efektini de uygulayacağız..

    Aşağıdaki bu kod parçası, özellikle renk mülkiyet ve Metin gölgesi için 350ms bağlantı elemanında.

     a geçiş: renkli 350 ms, metin gölgeli 350 ms; -o-geçiş: renkli 350ms, metin-gölge 350ms; -moz-geçiş: renkli 350ms, metin-gölge 350ms; -webkit-geçişi: renkli 350ms, metin gölgesi 350ms;  

    Aşağıdaki bu ikinci kod parçası, arka plan rengi ve kutu gölge ışık göstergesindeki özellik.

     a: target + span geçişi: arka plan rengini 350ms, kutu gölge 700ms; -o-geçiş: arka plan rengini 350ms, kutu gölge 700ms; -moz-geçiş: arka plan rengini 350ms, kutu gölge 700ms; -webkit-geçişi: arka plan rengini 350ms, kutu gölge 700ms;  

    Son sonuç

    İhtiyacımız olan tüm stilleri gördük, şimdi son sonucu canlı olarak görebiliyor, kaynak dosyasını aşağıdaki bağlantılardan indirebiliyorsunuz.

    • gösteri
    • Kaynak İndir

    Bonus: Nasıl kapatılır?

    İşte bonus geliyor. Yukarıdaki demosundaki düğmeyi denediyseniz, düğmenin yalnızca bir kez tıklanabileceğini, bunun açılması için bir fark olduğunu fark ettiniz, bu yüzden onu nasıl kapatırız??.

    Ne yazık ki, bunu jQuery ile yapmak zorundayız, ancak bu gerçekten de basit. İhtiyacımız olan tüm jQuery kodu.

     $ (document) .ready (function () $ ('# button'). click (function () $ (this) .toggleClass ('on'););); 

    Yukarıdaki snippet, çapa ON sınıfını ekler ve biz toggleClass JQuery işlevi eklemek için. Yani, ne zaman #buton üzerine tıklandığında, jQuery, sınıfın eklenip eklenmediğini kontrol eder: olmadığında, jQuery sınıfı ekler ve eklenirse, jQuery sınıfı kaldırır.

    Not: JQuery kütüphanesini eklemeyi unutmayın.

    Şimdi Stili biraz değiştirmek zorundayız. Sadece tüm değiştirin :hedef sözde eleman ile .üzerinde sınıf seçici, aşağıdaki gibidir:

     a.on box-shadow: 0px 0px 0px 0px rgb (34,34,34), 0px 3px 7px 0px rgb (17,17,17), ek 0px 7px 0px 0px rgba (250, 250, 250, .2) , iç içe geçmiş 0px-10px35px5px rgba (0, 0, 0,5); arkaplan rengi: rgb (83,87,93); üst: 3 piksel; renk: #fff; metin gölgesi: 0 piksel 0 piksel 3 piksel rgb (250,250,250);  a: active: önce, a.on: before top: -5px; arkaplan rengi: rgb (26,27,29); kutu-gölge: 0px 1px 0px 0px rgba (250,250,250,0.1), ek 0px 1px 2px rgba (0, 0, 0, 0.5);  a.on + span kutu-gölge: ek 0px 1px 0px 0px rgba (250,250,250,0,5), 0px 0px 3px 2px rgba (135,187,83,0.5); arkaplan rengi: rgb (135,187,83);  

    Sonunda tarayıcıda deneyelim.

    • gösteri
    • Kaynak İndir