Tekli Mesajlari izle
Eski 04-08-2007, 12:46 PM   #10
Eldanar
ÇaKaL Üye
 
Eldanar 'in Avatari
 
Kayit Tarihi: Sep 2006
Nerden: Antalya
Yaş: 36
Mesajlari: 1,282
Teşekkür Etme: 11
Teşekkür Edilme: 21
Teşekkür Aldığı Konusu: 10
Üye No: 18710
Rep Power: 1602
Rep Puanı : 5060
Rep Derecesi : Eldanar has a reputation beyond reputeEldanar has a reputation beyond reputeEldanar has a reputation beyond reputeEldanar has a reputation beyond reputeEldanar has a reputation beyond reputeEldanar has a reputation beyond reputeEldanar has a reputation beyond reputeEldanar has a reputation beyond reputeEldanar has a reputation beyond reputeEldanar has a reputation beyond reputeEldanar has a reputation beyond repute
Cinsiyet :
Belirlenen

Çerçeveler


Çerçeveler (frame), HTML'e sonradan eklenmiştir. Bu yüzden eski sürüm browser'lar çerçeve kullanılmış bir sayfayı görüntüleyemezler. (Microsoft Internet Explorer 3.0 ile Netscape Navigator 2.0 ve üstü sürümleri frameleri destekliyor). Bunun yanında çerçeve kullanımına karşı düşmanca (!) tavır sergileyen tasarımcılar da hatırı sayılır miktarda ve hala birçok site, ziyaretçisine çerçeveli ve çerçevesiz sunum seçeneği sunuyor.

Çerçeveler sayfanın bazı kısımlarını sabit bırakırken, diğer kısımlarını değiştirme imkanı verir. Bunun anlamı ise kullanılacak çerçeve miktarınca ek HTML sayfası oluşturmak demektir. Browser, çerçevenin bir bölümüne yerleştirilecek olan kaynak dosyayı bulamazsa hata mesajı verecektir.

Aşağıdaki örneği inceleyelim:




Örneğimizde 3 adet html dosyası var. Bunlardan frame.htm dosyası çerçeve komutlarını içeriyor (yani ana dosya). Bu komutlar browser'a, görüntülenmekte olan pencereyi ikiye bölmesini, bunlardan birisinde htm1.htm dosyasını, diğerinde htm2.htm dosyasını görüntülemesini bildiriyor.

<body bgcolor="..."> etiketi ile htm1.htm dosyasının artalan rengi kırmızı, htm2.htm dosyasının artalanı ise mavi yapılmış, kolaylık olması açısından dosyaların adlarını görüntülemeleri için bunlar da yazılmış ve sonuç gördüğünüz gibi.

Şimdi bu çerçeveyi birlikte oluşturalım:

frame.htm dosyası:

HTML Kod:
 <html>


<head>

   <title>Çerçeveler</title>

</head>


<frameset cols="*,*">

   <frame name="sol" src="htm1.htm">

   <frame name="sag" src="htm2.htm">

</frameset>


<noframes>

   <body>

   </body>

</noframes>


</html>
htm1.htm dosyası:


HTML Kod:
<html>

<head></head>

<body bgcolor="red">

 <font size="7" color="#ffffff">htm1.htm</font>

</body>

</html>

htm2.htm dosyası:
HTML Kod:
<html>

<head></head>

<body bgcolor="blue">

 <font size="7" color="#ffffff">htm2.htm</font>

</body>

</html>
--

<frameset>...</frameset>

Çerçeve oluşturmada kullandığımız etiket: frameset, cols ifadesi açılacak çerçevelerin yan yana sütunlar şeklinde olacağını belirtiyor, buraya row yazarsak çerçeveler alt alta satırlar görünümünde açılacaktır.

cols(sütunlar)


rows(satırlar)




Çerçeveler


Çerçeveler (frame), HTML'e sonradan eklenmiştir. Bu yüzden eski sürüm browser'lar çerçeve kullanılmış bir sayfayı görüntüleyemezler. (Microsoft Internet Explorer 3.0 ile Netscape Navigator 2.0 ve üstü sürümleri frameleri destekliyor). Bunun yanında çerçeve kullanımına karşı düşmanca (!) tavır sergileyen tasarımcılar da hatırı sayılır miktarda ve hala birçok site, ziyaretçisine çerçeveli ve çerçevesiz sunum seçeneği sunuyor.

Çerçeveler sayfanın bazı kısımlarını sabit bırakırken, diğer kısımlarını değiştirme imkanı verir. Bunun anlamı ise kullanılacak çerçeve miktarınca ek HTML sayfası oluşturmak demektir. Browser, çerçevenin bir bölümüne yerleştirilecek olan kaynak dosyayı bulamazsa hata mesajı verecektir.

Aşağıdaki örneği inceleyelim:


Örneğimizde 3 adet html dosyası var. Bunlardan frame.htm dosyası çerçeve komutlarını içeriyor (yani ana dosya). Bu komutlar browser'a, görüntülenmekte olan pencereyi ikiye bölmesini, bunlardan birisinde htm1.htm dosyasını, diğerinde htm2.htm dosyasını görüntülemesini bildiriyor.

<body bgcolor="..."> etiketi ile htm1.htm dosyasının artalan rengi kırmızı, htm2.htm dosyasının artalanı ise mavi yapılmış, kolaylık olması açısından dosyaların adlarını görüntülemeleri için bunlar da yazılmış ve sonuç gördüğünüz gibi.

Şimdi bu çerçeveyi birlikte oluşturalım:

frame.htm dosyası:
HTML Kod:
<html>


<head>

   <title>Çerçeveler</title>

</head>


<frameset cols="*,*">

   <frame name="sol" src="htm1.htm">

   <frame name="sag" src="htm2.htm">

</frameset>


<noframes>

   <body>

   </body>

</noframes>


</html>
htm1.htm dosyası:

HTML Kod:
<html>

<head></head>

<body bgcolor="red">

 <font size="7" color="#ffffff">htm1.htm</font>

</body>

</html>

htm2.htm dosyası:

HTML Kod:
<html>

<head></head>

<body bgcolor="blue">

 <font size="7" color="#ffffff">htm2.htm</font>

</body>

</html>


<frameset>...</frameset>

Çerçeve oluşturmada kullandığımız etiket: frameset, cols ifadesi açılacak çerçevelerin yan yana sütunlar şeklinde olacağını belirtiyor, buraya row yazarsak çerçeveler alt alta satırlar görünümünde açılacaktır.



cols (sütunlar)



rows (satırlar)


cols="*,*" ifadesi ile açılacak çerçevelerin pixel cinsinden ebatlarını belirliyoruz, buraya örneğin cols="140,500" gibi sayı yazılabilir, cols="25%,75%" ile browser penceresinin o anki ebadına göre verilen % oranlarına göre şekil alması sağlanabilir yada * sembolü ile açılacak çerçevenin ebadı browser'a bırakılır, cols="140,*" ifadesi ilk pencerenin 140 pixel olacağını ikincinin ise ebadının browser'a bırakıldığını gösteriyor.

Bu şekilde aynı zamanda açılacak çerçeve sayısını da belirtmiş oluyoruz. cols=".." ifadesine iki değer (ya da yıldız) verirsek bu iki çerçeve aç anlamındadır, 3 değer 3 çerçeve açar.

frame name="..." src="..." etiketi çerçevelere, bağlantıların TARGET kısmında kullanabilmek amacıyla isim (name) vermeyi sağlıyor (bu konuya aşağıda değineceğiz). src pencerede görüntülenecek html dosyasının yerini gösteriyor. Resimler bahsinde belirttiğimiz yer (kaynak) gösterme kuralları burada da geçerli. Açılacak çerçeve sayısı kadar frame name="..." src="..." etiketi kullanıyoruz.

Eski sürüm browserların çerçeve etiketini tanımadıklarından bahsetmiştik, işte noframes kısmı bu browserlara hitap ediyor. body kısmını bu eski browserlar görüntüleyebiliyor. Buraya örneğin sayfanın çerçeve kullanılarak yapıldığını gösteren bir mesaj yazılabilir, böylece ziyaretçinin artık yeni sürüm bir browser kullanması gerektiğini hatırlatabilirsiniz.


FRAMESET etiketi ile kullanabileceğimiz diğer parametreler şunlar;

frameborder="..." (yes, no) Çerçeveler arasındaki sınır çizgisinin görünüp görünmeyeceğini belirler.

border="..."
(sayı) Sınır çizgisinin kalınlığını (veya çerçeveler arası mesafeyi) belirler



FRAME etiketi ile kullanabileceğimiz parametreler;

marginwidth="..." marginheight="..." (sayı) Sayfanın solundaki (marginleft) ve üstündeki (margintop) kenar boşluklarını belirler.

scrolling=".."
(yes, no, auto) Kaydırma çubuklarının durumunu belirler.

noresize Pencere boyutlarının sabit olmasını sağlar.


Daha karmaşık Çerçeveler


Yan yana sütünlar ya da alt alta satırlar görünümünde çerçeveler açmayı öğrendik peki tablolarda gördüğümüz hücreleri birleştirme gibi bir özellik çerçevelerde de var mı? maalesef yok, fakat aynı görünümü elde etmek mümkün.

Bu etkiyi sağlamak için FRAMESET etiketini açıp kaynak dosyaların hepsini belirtmeden yeni bir FRAMESET açıyoruz, içiçe açtığımız bu etiketlerin kaynak dosyalarını eksiksiz olarak belirtip, etiketleri sonlandırıyoruz.

Örnekleri ve kodları inceleyip, farklı çerçeve türlerini kendi bilgisayarınızda oluşturmaya çalışın,

1-
1-
HTML Kod:
<frameset rows="*,*" cols="*,*">

   <frame name="a" src="htm1.htm">
   <frame name="b" src="htm2.htm">
   <frame name="c" src="htm3.htm">
   <frame name="d" src="htm4.htm">

</frameset>
2-
2-
HTML Kod:
<frameset cols="150,*">

   <frame name="a" src="htm1.htm">

<frameset rows="100,*">

   <frame name="b" src="htm2.htm">
   <frame name="c" src="htm3.htm">

</frameset>

</frameset>
3-
3-
HTML Kod:
<frameset rows="50%,50%">

<frameset cols="*,*">

   <frame name="a" src="htm1.htm">
   <frame name="b" src="htm2.htm">

</frameset>

   <frame name="c" src="htm3.htm">

</frameset>
4-
4-
HTML Kod:
<frameset rows="*,*,*">

   <frame name="a" src="htm1.htm">

<frameset cols="*,*">

   <frame name="b" src="htm2.htm">
   <frame name="c" src="htm3.htm">

</frameset>

   <frame name="d" src="htm4.htm">

</frameset>
5-
5-
HTML Kod:
<frameset cols="*,*">

<frameset rows="*,*">

   <frame name="a" src="htm1.htm">
   <frame name="b" src="htm2.htm">

</frameset>

   <frame name="c" src="htm3.htm">

</frameset>
Çerçeveler konusu ile birlikte HTML öğreniyorum yazı dizimiz sona erdi, buraya kadar öğrendiklerinizle internette siz de kendinize ait sayfalarınızı inşa edebilirsiniz, eğer bu konuda ciddi düşünüyorsanız bunun yolunun çok çalışmaktan geçtiğini sakın unutmayın, hoşunuza giden sitelerin dizayn mantığını anlamaya çalışın, hatta bunun için kaynak kodlarını inceleyin.

Soru ve sorunlarınlarınız için; Webmaster Bölümünde yer alan "Sorularınız" bölümüne yazabilirsiniz. Teşekkürler
__________________
:::Anh Min Sah Ko:::

Son Düzenleme Eldanar : 04-08-2007 Tarih12:49 PM.
Eldanar Ofline   Alinti Yaparak Cevapla