10,119 yorum yapıldı
RSS Aboneliği
Friendfeed
Youtube
E-posta

CSS

CSS ve jQuery ile dropdown select

Yazar: | 15 Mart 2012 Perşembe 22:53


Standart HTML select öğesine alternatif, daha şekilli, daha hoş bir dropdowndur kendileri. Ben yaptım, çok iyi oldu çok da güzel oldu tamam mı.

jQuery

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
$(document).ready(function(){  
 
// dropdown menu
$(".ddown").live("click", function() {
  if($("#ddown").is(":hidden")) {
    $("#ddown").slideDown('fast');
    $(".ddown").addClass("ddownact");
  }
  else {
    $("#ddown").slideUp('fast');
    $(".ddown").removeClass("ddownact");
   }
});  

$("#ddown a").live("click", function() {
  var deger = $(this).attr("data-id");
  var fiyat = $(this).find("strong").html();
 
  $(".ddown").html("<strong>"+fiyat+"</strong>");
  $("#deger").val(deger);  
 
  $("#ddown").slideUp('fast');    
  $(".ddown").removeClass("ddownact");  

});  

}); //doc ready end

Yazinin devamini okuyun »

jQuery ile elemanlara otomatik genişlik/yükseklik değerleri vermek

Yazar: | 31 Ocak 2012 Salı 22:37


Bazen jQuery ve CSS olmasaydı ne yapardım diye düşünmeden edemiyorum. Artık olay benim açımdan öyle bir hal aldı ki, tasarladığım her yeni sayfadan <title> tagını bile eklemeden önce jquery kütüphanesini çağırıyorum.

Olayımıza gelince; elimizde genişliğini ve yüksekliğini pencere değerlerine göre dinamik olarak ayarlamak istediğimiz bir tasarım elemanı (div) olduğunu düşünelim. Bu elemanı hem yatay hem de dikey olarak pencereye sığdırmak veya kenarlardan sadece bir kaç piksel boşluk bırakarak boyutlandırmak istiyoruz. Bunun için tek başına CSS ile çözüm üretmeye çalıştığımızda biraz tırmalamamız gerekebilir. Oysa eğer sayfamız halihazırda jQuery kütüphanesini yüklüyorsa bu işi bir kaç satır kodla kolayca halledebiliriz.

İşlem yapmak istediğimiz elemana .container gibi bir class atadığımızı varsayalım. Öncelikle pencere yükseklik/genişlik değerlerini alan ve o değerleri dinamik olarak bu elemana atayan bir fonksiyon oluşturalım:

1
2
3
4
5
6
7
8
9
10
function boyutlandirHele() {

// Pencere değerlerini alıyoruz
  var winwidth  = $(window).width(); // pencere genişliği
  var winheight = $(window).height(); // pencere yüksekliği
 
// Aldığımız değerleri .container'a dinamik olarak atıyoruz
  $(".container").css({'height': winheight, 'width': winwidth});

}

Ardından bu fonksiyonu sayfa yüklenirken çağıralım:

1
2
3
$(document).ready(function(){  
  boyutlandirHele();    
});

Bu eylem elemanımızı pencerenin içine hem yatay hem de dikey olarak cuk diye sığdırdı. Peki ya kullanıcı pencereyi küçültüp büyütür, yani herhangi bir sebeple yeniden boyutlandırma ihtiyacı hissederse? İşte o zaman bizim .container kalas gibi sabit kalır ve ortaya istenmeyen scrollbarlar (kaydırma çubukları) çıkar. Bunu aşmak için de “Hey jQuery, pencere yeniden boyutlandırıldığında aynı işlemleri tekrar yap dude!” demeliyiz, şöyle ki:

1
2
3
$(window).resize(function() {
  boyutlandirHele();
});

Hepsi bu kadar. Bakınız ne kadar hoş, ne kadar şirin ve latif bir olay değil mi? Bu basit işlemlerden sonra nur topu gibi otomatik olarak pencere boyutlarına ayak uyduran .container class’lı bir elemanınız olmazsa gelin beni bulun, döverim onu.

Scriptin çalışan örneğini inceledikten sonra heyecanınız daha da artacak. Fakat işlevlerini ve kaynak kodlarını incelerken “Hacı bu ne ya bir sürü şey yapmışsın, konumuzla ne alakası var tüm bunların?” demeyin, çünkü ben biraz tembel bir blog yazarıyım. Bir sonraki dersimizde site veya tasarım elemanlarının arkaplan resimlerini plugin kullanmadan manuel veya x sürede otomatik olarak değiştirmekten bahsedeceğim, tahmin etmiş olabileceğiniz üzere hepsi için aynı demoyu kullanmak niyetindeyim. Yazinin devamini okuyun »

CSS sprite oluşturma aracı (Google PageSpeed için)

Yazar: | 19 Aralık 2011 Pazartesi 2:17


CSS ile tasarım yapmak candır, tasarıma dahil birden fazla resmi tümleşik hale getirip CSS ile ayrıştırmak (sprite tekniği) ise canan. Büyük sitelerin çoğu gerek sayfa açılış sürelerini kısaltmak gerekse trafik tüketiminden tasarruf etmek için bu tekniği kullanıyorlar. Ayrıca son zamanlarda oldukça popüler olan Google PageSpeed aracı da, bu tekniği tasarımcılara sayfa hızını doğrudan etkileyen bir unsur olarak “önemle” tavsiye ediyor.

Sprite tekniğinin sunduğu avantajlardan nasıl faydalanacağınız konusunda fikriniz yoksa veya halihazırda bu tekniği kullanan fakat zamandan tasarruf etmek isteyen bir tasarımcıysanız şu siteyi sık kullanılanlarınıza eklemenizde fayda var: http://tr.spritegen.website-performance.org Site sayesinde zipli halde yüklediğiniz resimleri kolayca birleştirebilir ve çıktıya ait CSS kodlarını sadece bir kaç tıklamayla alabilirsiniz.

Jquery ile background animate (kayan arkaplan efekti)

Yazar: | 12 Kasım 2011 Cumartesi 4:47


Uzun süredir sitede web tasarım ile ilgili içerikler yayınlamıyordum. Bunun temel sebebi zamanımın çoğunu zaten bu tür şeylerin alıyor olması, yani burda biraz daha farklı şeylerden bahsetmek, kendime zaman ayırmak istiyordum. Öte yandan bu siteyi açarken aklımdan geçenlerden biri de severek kullandığım / ürettiğim tasarım içeriklerini depolamak, lazım oldukça alıp kullanmaktı. Şimdi bu olaya devam etmeye karar verdim, farkettim ki Google’da ne zaman ihtiyaç duyduğım bir içeriği arasam karşıma yine kendi sitem çıkıyor.

Scriptimize gelecek olursak: Tasarım elemanlarınızın arkaplan pozisyonlarını animasyon efektleriyle değiştirebileceğiniz, içerisine bir tutam hayal gücü katarak ziyaretçilerinize şaşırtıcı deneyimler yaşatabileceğiniz kullanımı oldukça kolay bir jquery plugini.

Kullanım

Jquery kütüphanesini ve plugini (paketin içerisinde mevcut) </head> tagından önce çağırın

1
2
<script type="text/javascript" src="js/jquery-1.7.min.js"></script>
<script type="text/javascript" src="js/jquery.backgroundPosition.js"></script>

Tasarım elemanlarızın üzerine gelindiğinde arkaplan pozisyonlarının değişmesi için .hover() eventini kullanabilirsiniz. Bunun için yine </head> tagından önce aşağıdaki kodları yerleştirin (veya scripts.js gibi bir isimle kaydedip yukarıdaki biçimde çağırın)

1
2
3
4
5
6
7
8
9
10
<script type="text/javascript">
$(document).ready(function(){  
$(".bgme").hover(
   function () {
    $(this).animate({backgroundPosition: '-100px 0'}); // Arkaplan pozisyonunu değiştir
   },function(){
    $(this).animate({backgroundPosition: '0 0'}); // Önceki pozisyona dön
 });
}); //doc ready end
</script>

Buna göre .bgme class’ı atadığınız elemanların üzerlerine mouse ile gelindiğinde arkaplan pozisyonları belirttiğiniz değerlere göre (-100px 0) animasyonlu olarak değişecek. Yazinin devamini okuyun »

CSS ile buton oluşturmak hiç bu kadar kolay olmamıştı

Yazar: | 17 Eylül 2011 Cumartesi 14:32


CSS kodlarken işinizi kolaylaştıran ve zamandan tasarruf etmenize yardımcı olan sitelere bayılıyorum. Daha önce de bu tür bir kaç siteden bahsetmiştim ve tahmin ediyorum ki aşağıdaki “Benzer Yazılar” bölümünde kendilerini göstereceklerdir.

Yeni kahramanımızın adı CSSButtonGenerator.com Kendisi sadece bir kaç tıkla gayet şık butonlar tasarlamanıza olanak sağlayan güzel bir site. Favori siteleriniz arasına kaydetmenizde fayda var.

CSS3 Generator ile zamandan tasarruf edin

Yazar: | 3 Temmuz 2011 Pazar 22:34


CCS3 tasarımlar yapmak için türlü teknikler kullanarak göbek çatlatan tasarımcılardansanız bu siteyi çok seveceksiniz. Tek amacı border-radius, box-shadow, gradyan ve opaklık gibi eleman özelliklerini görsel olarak ayarlamak olan css3.me her tasarımcının elinin altında bulunması gereken kullanışlı bir araç-site.

CSS buton tasarımları

Yazar: | 3 Temmuz 2011 Pazar 21:54


Psdup.com severek takip ettiğim ve web tasarımcılara favorilerine eklemelerini tavsiye ettiğim güzide bir kaynak site. Arkasında özellikle Türk tasarımcıların emek ve özverilerinin bulunmasını ayrıca takdir ediyorum. Tasarımcı Bilal Çınarlı imzası taşıyan bu harika buton tasarımlarıyla da yine Psdup aracılığıyla tanıştım.

Örneklerini şu adresten inceleyebileceğiniz butonları projelerinizde gönül rahatlığıyla kullanabilir, yapımda ve yayında emeği geçenlere hayır duaları gönderebilirsiniz. Yazinin devamini okuyun »

CSS Border Radius Generator ile oval köşeli elemanlar tasarlayın

Yazar: | 13 Haziran 2011 Pazartesi 6:36


CSS Border Radius Generator keşfettiğim gün en sık kullandığım sayfaların arasına eklediğim, her fırsatta kullanmak için bahane aradığım oldukça işe yarar bir araç. Kendisi tasarım elemanlarınıza bir kaç saniyede (dilerseniz her köşesine farklı değerde) oval köşeler verebilmenizi, css oval köşe olayını destekleyen tüm tarayıcılara uyumlu biçimde sağlıyor.

Eğer siz de benim gibi “kahrolsun IE’nin eski sürümleri!” gibi bir mantığa sahipseniz ve sırf IE’ye uyumlu oval köşeler yapmak için satırlarca kod yazıp imaj kullanmaktan kaçınacak kadar tembelseniz bu araçtan çok hoşlanacaksınız.

CSS Border Radius Generator
http://border-radius.com

Web sitenizde kullanabileceğiniz hoş bir etiket (tag) tasarımı

Yazar: | 12 Haziran 2011 Pazar 19:35


Hani sitemin diğer her türlü donesi gibi etiket tasarımı da daha fazla araklanmasın diye söylemiyorum ama adamlar on numara iş yapmışlar, mıımmhh parmaklarınızı yersiniz, oturmuşlar nasıl yapıldığını da kalem kalem anlatmışlar.

Zaman kaybetmeden demo sayfasına gözatmak için şuraya tıkıldayabilirsiniz. Tasarımın Photoshop + CSS marifetiyle nasıl vücut bulduğunun anlatıldığı sayfaya gitmek ve download edip hemen kullanmaya başlamak için ise şu sayfayı öneriyor Doktor Alban (vardı ya hani “no haş haş no kokain” diyen adam… Şu adam işte).