Dreamweaver ve Katmanlar
Alışalı gelmiş statik tablo ve paragraf mantığının aksine katmanlar hareket edebilene hoplayıp zıplayabilen yapıları ile bizlere üstün hareket olanağı sağlamaktadırlar. Öte yandan kullanım zorluğu nedeniyle pek de pratik bir çözüm gibi görülmezler. Daha önce de belirttiğimiz gibi daha çok DHTML uygulamalarında ileri çıkan bir bileşendir.
Yeni başlayan arkadaşların sayfadaki objeleri istedikleri sayfada istedikleri yere taşıma kolaylığı nedeniyle sıklıkla katmanlara başvurmaları sayfada çözünürlük farklarından doğan görüntü kaymaları ve bozulmalarına sebep olmaktadır. CSS stiller bölümünde anlatılan ve yeni bir stil yaratırken CSS özellikleri penceresinden Positioning sekmesi altında yer alan "Type" kısmı "Absolute" olan katmanlar ile yapılan tasarımlar hiçbir zaman sağlıklı sonuçlar vermezler.
Stil yaratma penceresi, Position bölümü
Sayfa tasarımlarında katman sıkça kullanılan bir teknik olmakla beraber DIV olarak tabir edilen katman türleri kullanılmaktadır. Konu ile ilgili makaleler ilerleyen günlerde sitemizde yayınlanacaktır.
Sayfaya yeni bir katman eklemek
DW ile sayfalarımıza nasıl yeni bir katman ekleyeceğimizi öğreneceğiz. Öncelikle yeni bir doküman açın ve kaydedin
Daha sonra Insert paneldeki Layout sekmesi altında yer alan Draw Layer seçeneği ile istediğiniz boyutta bir katman çizebilir ya da Insert / Layer seçeneği ile sayfanıza Absolute olarak pozisyonlandırılmış bir katman ekleyip biçimlendirebilirsiniz.
Dreaw layer düğmesi ile bir katman çizebilirsiniz
Draw Layer seçeneğine tıkladığınız anda fare imleci + işaretine dönüşecektir ve size serbest bir dikdörtgen çizme olanağı sağlayacaktır.
Dreamweaver içerisinde katmanların görünümü
Ayrıca Insert Panelde Common ve Layout sekmelerinde yer alan "Insert Dıv Tag" düğmesi ile doğrudan DIV ekleyebilirsiniz. Bu DIV'ler Draw layer seçeneğinin aksine durağan içerik elemanları olup sayfa ara yüz tasarımının temelini oluşturmaktadırlar.
Insert DIV tag düğmesi ile sayfaya DIV ekleyebilirsiniz
DW, DIV için bir iletişim penceresini ekrana getirip bizden ilgili ayarları yapmamızı isteyecektir.
Insert DIV tag iletişim penceresi
Burada geçen Insert seçenekleri DIV tagının sayfaya nasıl ekleneceğini belirtiyor. "Wrap around selection" seçeneği seçili olan içeriğin etrafını saran bir DIV ekleyecektir. Aynı şekilde listedeki diğer seçenekleri de deneyerek amacınıza uygun olan ekleme türünü seçebilirsiniz.
Katmanlar ile ilgili düzenleme ve biçimlendirmelerin çoğunu Property Inspector üzerinden yapıyoruz. (bu sadece katmanlar için değil resim, tablo, resim ve ya flash objeleri gibi birçok bileşen içinde geçerli).
Bir katmanı seçmek için o katmanın kenarlarından birine tıklamanız yeterli olacaktır. Katmanı seçtiğiniz anda katmanın kenarlarında ve köşelerinde boyutlandırma için tutamaçlar görünecektir. Bunları kullanarak katmanınızı tekrardan boyutlandırabiliriz.
Bir katman seçtiğinizde Properties paneli aşağıdaki hali alacaktır. Bileşenleri şu şekilde sıralanabilir;
Katmanlar ile ilgili değişiklikleri Properties panelinden yapabilirsiniz
-
LayerID: Sadece bu katmana özgü özel bir isim.
-
T: Katmanın üst kenara olan uzaklığı.
-
L: Katmanın sol kenara olan uzaklığı.
-
H: Katmanın yüksekliği.
-
W: Katmanın genişliği.
-
Z-index: Katmanların tarayıcıda görünme önceliği diyebiliriz. Z-index'i büyük olan katman üstte küçük olan katman altta görüntülenir.
-
Vis: Katmanın görünürlük türü. Eğer katmanın gizli olmasını istiyorsanız bunu hidden olarak ayarlamalısınız.
-
Bg image: Katmanın arka fon resmi atamamıza yarar.
-
Bg color: Katmanın arka fon rengi atamamıza yarar.
-
Overflow: Çok işinize yarayacağına inandığım bir. Bu seçenek katmanımızın içerisindeki içeriğin nasıl görüntüleneceğini belirtiyor. Örneğin 100 piksel yüksekliğinde bir katmanımız var ve içerisinde oldukça uzun bir metnimiz var. Metnin nasıl görüntülenmesini istiyorsanız buraya "Visible, hidden, scroll veya Auto" seçeneklerinde size uygun olanı seçerek belirleyebilirsiniz. Auto seçeneği wordwrap özelliği ile katmanı adeta bir iFramemişcesine biçimlendirerek harika bir özellik sunuyor. Mutlaka deneyin.
-
Clip: Katmanın içerisindeki içeriğin görüntülenebilir alanını alt, üst, sağ ve sol kenarlara olan uzaklıklarını piksel cinsinden belirtmenizi saplar. (13 14 15)
Katma-CSS ilişkisi
CSS HTML'in ve dolayısı ile DHTML'in vazgeçilmez bir bileşeni olarak katmanlar ile birlikte çok karşımıza çıkmakta. Bu iki bileşeni birleştirerek oldukça kullanışlı tasarımlar ve ara yüzler yapabiliriz.
Öte yandan İlerideki konularda görebileceğiniz Hareketli katmanlar (Drag Layer Behavior'ı) ve Timeline efektlerinde katman CSS kombinasyonlarını çokça kullanacağız
Öncelikle ihtiyaca yönelik bir CSS hazırlamış olmalıyız. Katmanlar ile kullanacağımız stiller Border ve Background özellikleri de içerebilir ki bizim burada vurgulamak istediğimiz nokta da bu. Nasıl yeni bir stil tanımlayacağınızı önceki konularda anlatmıştık burada sizler için bir fikir vermesi açısından ufak bir uygulama örneği vereceğim.
Örneğin "icerikkatmani" ID'sine sahip katmanımıza özel bir stil tanımlayacağız. Bunun için "Advanced" stil tanımlaması yapmanız ve selector olarak #icerikkatmani girmeniz yeterli olacaktır.
Katman için bir CSS yaratıp bu stili katmana uygulayabilirsiniz
Stil tanımlamasını yaptıktan sonra DIV'i seçtikten sonra Properties panelinden Class ayarlarını değiştirebilirsiniz.
Yarattığınız bu stil için arkafon ve çerçeve özelliklerini ayarlayarak etkili tasarımlar yapabilirsiniz
Sonuç aşağıda görünüyor. Sizde yaratıcılığınız sınırları dâhilinde kullanışlı ve estetik içerik ara yüzleri oluşturabilirsiniz.
Örnek bir uygulama
Show-Hide Layer
Bazı durumlarda dokümandaki katmanların belli durumlarda görünüp belli durumlarda gizlenmesi isteriz. Bu biraz DHTML teknikleri gerektiren bir husus.
Fakat DW içerisinde bu konu oldukça pratik bir hâl almış durumdadır. Sadece bir iki fare tıklaması ile onlarca JavaScript kodu derlemeye gerek kalmaksızın bu soruna çözüm getirebiliriz.
Show-hide layer kullanmak için;
Yeni bir doküman açın ve sayfanıza farklı boyut ve özelliklerde katmanlar ekleyin (Draw layer ile) ve bunların arka fon renklerini değiştirin. (Arka fon renklerini değiştirmemizin sebebi katmanların Show (Görünür) ve Hide (Gizli) durumlarını daha rahat bir şekilde görebilmek içindir)
Daha sonra sayfaya bir link ekleyin. Link olarak # kullanın. Zira linkin ne olduğu çok da önemli değil. Boş linkler kullanıyoruz çünkü JavaScript çağrılmasını sağlayacağız.
Daha sonra bu linki seçip Behaviors Panel'den Show Hide Layers seçeneği ile ilgili pencereye ulaşabilirsiniz.
Behaviors panelden Show-hide layer seçeneğini seçiyoruz
Named Layers kısmından üzerinde değişiklik olmasını istediğiniz katmanları seçip eğer görünmesini istiyorsanız Show, gizlenmesini istiyorsanız Hide, durumdan bir değişiklik olmasını istemiyorsanız Default düğmelerinden herhangi birine tıklayıp bu katmanın özelliklerini belirleyebilirsiniz.
Show-hide layer iletişim penceresi
İlgili ayarları yaptıktan sonra OK dediğinizde bu linke ait behavior sayfaya eklenecektir. Linki seçip Behaviors paneline baktığınızda Events listesinde onClick bölümünde Show-Hide Layer adında bir olay eklendiğini görebilirsiniz. Bu tıklandığında bu olayın gerçekleşeceği anlamına gelir.
Behaviors panelden değişiklikleri yapabilir ve durumu takip edebiliriz
Hareketli layerlar
İşte katmanların en eğlenceli kısımlarından biri, artık katmanlarımız durağan değil hareketli. Üstelik biz nereye istersek oraya gidiyorlar.
Hareketli Layerlar yapmak için;
Öncelikle sayfamıza bir katman çiziyoruz ve bunu arka fon rengi veya önceki konularda öğrendiğimiz gibi CSS ile renklendirip görünür hale getiriyoruz. Ardından Status barda bulunan tag selector ile <body> tagını seçiyoruz. Bu nokta oldukça önemli aksi takdirde Drag Layer menüsü aktif hale geçmiyor.
Tag selector ile BODY tagını seçmeliyiz
Arkasından Behaviors Panelden "Drag Layer" menüsüne tıklıyoruz. İşin kilit noktasını Drag Layer adlı Behavior oluşturuyor.
Behaviors panelden Drag layer seçeneğini seçmeliyiz
Açılan iletişim penceresinden;
Drag layer iletişim penceresi
-
Layer: Buradan hareket etmesini istediğimiz katmanı seçiyoruz.
-
Movement: Katman hareketinin türünü seçiyoruz. Unconstrained, serbest hareketi belirtiyor. Yani katmanı sayfada istediğiniz yere taşıyabiliyorsunuz. Constrained ise belli bir alan içerisinde sınırlandırılmış hareketi belirtiyor.
-
Drop Target: Hareketin başlangıç noktasını belirtiyor. Eğer katmanın o anki pozisyondan harekete başlamasını istiyorsanız "Get Current Position" butonuna tıklayarak o anki pozisyonu alabilirsiniz.
-
Sanp if Within... : Eğer katman hareketi belli bir değerin altındaysa tekrar eski pozisyonuna dönmesini sağlar. Örneğin buraya 100 yazarsak Başlangıç noktasından 100 piksel uzağına kadar katmanı hareket ettirirsek katman tekrar başlangıç noktasına dönecektir. Hareket 100 pikselden fazla olursa katman bıraktığımız noktada kalacaktır.
Bu ayarlamaları yaptıktan sonra OK diyerek katmanlarımıza hareket kazandırabiliriz. Sayfayı kaydedip tarayıcıda deneyin. Tarayıcıda iken katmanı tutup sürüklemeye çalışın nasıl hoş değil mi? Bu özellikle yapabileceğiniz oyun (örneğin Puzzle) ve uygulamaları bir düşünün