CSS3 özellikleri hayatımıza girmeye başladı. Artık projelerimizde CSS3 renk geçişini, metin gölgelendirme(text-shadow), kutu gölgelendirme(box-shadow) kullanabiliyoruz. Kullandıkça görüyoruz ki yeni özellikler güzel ancak eklemek için biraz daha fazla kod yazmak gerekiyor ve bazı durumları oluşturmak için bazı araçlar gerekiyor. Örneğin CSS Gradient Generator vs. gibi
Benzer bir durum kutu gölgelerinde(box-shadow) karşılaştım. Bazı kutu gölgeleme işlerini bir köşeye kaydetmeye başladım çünkü kodu o kadarda akılda kalıcı değil.
Sonra bunu yazı haline getirmek istediğimde gördüm ki zaten birçok kişi bu konuda yazı yazmış. Bende bunları toparlayıp bir yazı çıkarayım dedim. Bu yazıyı bir yere kaydedin lazım olacak muhakkak. Aslında bu örnekler yakında editörler tarafından sunulacaktır diye düşünüyorum.
kutulara gölge verme yazımızı okursanız kutu gölgeleri hakkında bilgi sahibi olabilirsiniz. Kutuları 4 köşe olduğunu düşünürsek.
4 Köşeye gölge vermek
Normal box-shadow değerleri dikey ve yatayda değerler verilince hep açılı gölgeler veriyor. Biz tüm kutunun etrafına gölge vermek için; blur değeri ve spread değerini kullanıyoruz.
blur değeri spread değerinden büyük ise farklı,
blur değeri spread değerinden küçük ise farklı bir gölge efekti görüyoruz.
Çoklu Kenar Çizgisi Oluşturmak
Önceki makalede bahsettiğimiz gibi, çoklu kenar çizgileri oluşturmak için; spread değeri yardımı ile yapılan bu etki için diğer değerler sıfırlanmalıdır.
Tek Köşeye Gölge Vermek
Kutuların sadece x veya y köşelerinden göstermek için box-shadow tanımının sınırlarınız zorlamamız gerekiyor. Bu iş için bir kaç yöntem mevcut, ben burada hepsini paylaşıyoruz avantaj ve dezavantajlarını görerek karar vermek size kalmış.
1. Yöntem bir köşeye gölge verirken aynı zamanda diğer köşelere kenar çizgisi atayarak.
2. Yöntem Diğer köşelere herhangi bir kenar çizgisi veya gölge atamadan sadece bir köşeye gölge tanımlamak;
Mantık olarak iki gölge tanımı yapıyoruz, birincisi spread ile kutu ardalan rengi ile aynı renkte 4px bir alan oluşturuyoruz, ikinci gölge tanımı ile de bu tanımladığımız boş alanın dışına çıkacak köşeye daha fazla değer verip dışarı çıkmasını sağlıyoruz.
3. Yöntem Bu örnekte kenar çizgisi oluşturulan yeni kutunun biraz içinde kalır.
Eğer kenar çizgisi kullanılacaksa;
Blur değeri kadar eksi spread değeri atayarak bu çözüm oluşturulmuştur.
4. Yöntem :before seçicisi yardımı ile absolute tanımlı gölge eklenir.
Çıkmasını istediğimiz kenara padding tanımı yapılır, :before seçicisi ile o köşeye ait kenar değeri padding ile aynı tanımlanır. :before seçicisine box-shadow tanımı yapılır yapılan padding tanımından fazla değer içermelidir.
3 Köşeye Gölge Tanımlama
Yukarıdaki 4.yönteme benzer bir kullanım ile yapılır.
Yukarıdaki yöntemin tersi yapılır ve kaldırılacak köşeye eksi değer atanır.
Sonuç
CSS3 bizi resim yönetme araçlarına bağlı olmaktan olduğunca kurtarmaya çalışıyor. Box-shadow bu kurtarma yöntemlerinin en güzellerinden birisi. Ben yukarıda genelde iş yaparken lazım olan örnekleri sergiledim. Kaynaklardaki linklerde box-shadow özelliği ile yapılmış çok farklı gölge uygulamaları mevcut, bu uygulamaları incelemekte yarar var. Tasarımları HTML’e çevirirken bu örneklerin aklımızın bir yanında durmasında fayda var. Tasarımda gördüğümüz birçok gölge uygulamasını box-shadow ile halledebiliyoruz. Birçoğunu diyorum, ama hepsi diyemiyorum, çünkü tasarımcıların sınırları belli olmadığı için hepsi demek zor.
box-sahdow müşteriyi patronu ikna edebildiğimiz yerlerde uygulayabildiğimiz özellikler, ama gerçekten arayüz geliştiriciye büyük kolaylıklar sağlıyor.
Kaynaklar
- http://theburningmonk.com/2010/12/having-fun-with-css3-box-shadow-property/ (box-shadow özelliği)
- http://markusstange.wordpress.com/2009/02/15/fun-with-box-shadows/
- http://matthamm.com/box-shadow-curl.html
- http://www.webdesignshock.com/css3-box-shadow/
- http://www.red-team-design.com/how-to-create-slick-effects-with-css3-box-shadow
- http://www.viget.com/inspire/39-ridiculous-things-to-do-with-css3-box-shadows/
- http://blog.syndicate-fx.com/code-snippets/css3-boxshadow-effects/
- http://www.ballyhooblog.com/realistic-css3-box-shadows/
- www.sitepoint.com/pure-css3-paper-curl/
- http://www.css3.info/preview/box-shadow/
- http://www.wewillbeok.com/likeacastshadow/
- http://toolboxdigital.com/2011/03/css3-3d-gradient-box/
- http://www.paulund.co.uk/creating-different-css3-box-shadows-effects
- http://blog.w3conversions.com/2011/09/css3-spread-value-and-box-shadow-on-one-side-only/ (makaleye örnek)
- http://nicolasgallagher.com/css-drop-shadows-without-images/demo/ Örnekler Sayfası
- http://translate.google.com/translate?hl=en&sl=auto&tl=en&u=http%3A%2F%2Fwww.alsacreations.com%2Ftuto%2Flire%2F1338-css3-box-shadow-ombre.html (box-shadow güzel)
- http://www.creativejuiz.fr/blog/tutoriels/ombre-avancees-avec-css3-et-box-shadow (güzel incele)