Genelde jquery’den angular’a geçtiğimiz için daha önceki alışkanlıkları ve kolaylıkları angular’da da arıyoruz. Bunlardan bir taneside toggle ve toggleClass.
AngularJs ile toggle ve toggleClass uygulamak çok basit.
Basit bit toggle yapalım. Bir değişken(acKapa) tanımlayıp, bu değişkenin değerine göre gizle göster yapacağız. Değer kontrolünü acKapa=!acKapa kısayolu ile yapıyoruz.
toggleClass içinde benzer bir yol izliyoruz. ng-class yönergesini(directive) kullanıyoruz.
:before ve :after sözde sınıfları tanımlandığı elemanla ilişkili ve alt eleman olarak eklenir, isimlerinden de anlaşılacağı gibi içeriğin başına ve sonuna eklenirler. Kullanım alanlarını gördükçe ne kadar faydalı seçiciler olduğunu daha iyi anlayacağız.
Bu makalede özellikle kullanım alanlarına değineceğim. Daha önce bir çok sayfada kullandığım ve sitemde örneklerini verdiğim bu seçicileri önemine binaen daha detaylı anlatacağım. pseudo sınıfları ve pseudo elementleri yazımda anlatmıştım. Basit bir kullanımı var.
Gelelim kullanım yerlerine, tek tek kullanım yerlerini inceleyelim.
İkon eklemek
:before yöntemi ikonların kullanımı için bence birebir çözüm oluşturuyor. Boostrap’in ikonları için kullandığı <i> veya <span> etiketi bana çok mantıklı gelmiyor. Zamanında :before ve :after desteği olmadığında <i> kullanmak mantıklı idi ama şimdi çok mantıklı bir kullanım değil bence.
Hazırladığımız ikon sprite resminden ilgili ikonu :before ile ekleyebiliriz. Sprite resimlerinde boşluk ayarlamak gibi işlerle uğraşmaya da gerek kalmaz.
Tanımlanan ikonları konumlandırmak bu yöntem ile çok kolay oluyor.
Yukarıda listelediğim ve listelemeyi unuttuğum(kaynaklarda var) işleri :before ve :after ile yapabiliriz. İşin mantığını anlatmak için yukarıdaki listeyi yazdım. Genel olarak mantığı kavradıktan sonra web sayfalarımızda gerektikçe bu sözde sınıfları kullanmak bizim elimizi güçlendirir.
Bazı durumlarda keşke bir kaç tane daha olsa kullansak dediğim oluyor :D
Bu yazıyı özellikle Murat Çorlu‘ya ithaf ediyorum. 3 sene önce :before ve :after yazısı yazacaktı. Artık yazar bu göndermeden sonra :D
CSS’de sorun olan noktalardan biridir dikeyde elemanları ortalamak. Farklı çözüm önerileri sunulmuştur. Bende daha önce yazmıştım bir tane. CSS ile Dikey Ortalama
CSS3 ile birlikte bu soruna bazı çözümler üretildi. Benim burada anlatacağım transform ile üretilen çözüm.
Kod çok basit;
Kod bu kadar
Son olarak belirtmem gereken şeyler var.
Kapsayıcı elemanın sabit bir yüksekliği olmalıdır.
İçeriği yoğun olan sayfalarda transform uygulanan elemanda bulanıklık oluyor. Çözüm için kapsayıcı elemana transform-style: preserve-3d; atamak yeterli oluyor.
Dikey ortalama uygulanan elemana tanımlanan üst ve alt padding, margin veya border sıkıntı çıkarıyor.
Dinamik CSS yazıyorsanız bunu bir mixin haline getirmek mantıklı