Bölüm 4

Satır İçi (Inline) Elementler

Sayfa 2


Özel Grup Satırıçi Elementler - Çapa Elementi-

Özel Grup Satıriçi Elementlerin Tanıtımı

Özel grup satıriçi elementler, değişik işlevleri olan ve sadece satıriçi element olmaktan başka ortak noktaları olmayan elementlerdir. Bu elementlerin DTD deki tanımları :

 

 

şeklindedir. Bu elementlerin işlevleri birbirlerinden farklı olduğu için, nitelikleri de birbirlerinden farklıdır. Bu nedenle, bu elementlerin sözdizimleri de kendilerine özgüdür.

 

<a>(anchor = çapa) Elementi

 

Çapa elementi, HTML belge yapılandırma dilinin belki de en anlamlı elementidir. Bu element, belgelerin birbirleri ile bağlantılarını oluşturma görevini üstlenmiştir. Birbirlerine bağlanabilen metinler, basit bir kelime-işlem nesnesi yerine bir "hipermetin" karakteri kazanırlar. Birbirlerine bağlanabilen belgeler, birbirleri ile ilgili sanal guruplar oluşturabilirler, veri temellerine bağlanabilirler, bir başka sayfaya veri aktarabilirler. Internet ile, sonsuz olanakları sağlayan HTML elementlerinden birisi de çapa elementidir.

Çapa elementinin bağlama mekanizmasını incelerken, iyi kavranması gereken bir nokta, bağlamanın bir başlangıç bir de hedef noktası olduğudur. Bağlanmanın iyi uygulanması durumunda, çok mütevazi bir bağlantı hızı ile bile, dünyanın diğer ucundaki, bir kaynağa bağlanılabilir ve bilgi alınabilir. Çapa elementinin DTD deki tanımı:

 

 

şeklindedir. Görüldüğü gibi, çapa elementinin geniş ve kapsamlı bir tanımı bulunmaktadır. DTD deki tanımından, çapa elementinin başlangıç ve bitiş imlerinin kullanımının zorunlu olduğu görülüyor. Çapa elementinin içeriği tamamen boş bırakılabildiği gibi, başka çapa elementleri dışında, istendiği kadar satıriçi element ile doldurulabilir. Nitelikleri arasında, eski bilinenler ile birlikte, birçok yeni nitelik bulunmaktadır.

DTD deki tanımına göre çapa elementinin sözdizimi :

<a                                                (Başlangıç imi :zorunlu )

Ortak Temel Nitelikler(Çekirdek Nitelikler, Uluslararasılaştırma Nitelikleri, Script Yazılabilecek Olaylar)

href = "URI"  [TB] (hipermetin referansı)

name = "CDATA"  [YD]  (çapa elementinin ismi)

rel = "Bağlantı tipleri"  [YZ]   (bağlanan belgenin bağlantının belirttiği belgeye doğru ilişkisi)

rev = "Bağlantı tipleri"  [YZ]   (bağlantının belirttiği belgenin bağlanan belgeye doğru ilişkisi)

type = "İçerik tipi"   [YZ]  (bağlantının belirttiği belgenin içerik tipi)

hreflang = "Dil kodu"   [YZ]  (bağlantının belirttiği belgenin dili)

charset = "belge karakter kodlaması"  [YZ]     (bağlantının belirttiği belgenin karakter kodu)

acceskey = "tek karakter"   [YN]   (erişim tuş karakteri )

tabindex = "sayı"   [YN]  (tab sırasını belirten sayı)

shape = "[rect | circle | poly | varsayılan ]"  [YZ]   (kullanıcı tarafı görüntü haritaları)

coords = "koordinatlar" [YN]     (kullanıcı tarafı görüntü haritaları)

onfocus = "Script"  [TB]   (element üzerine odaklanma oluşuyor)

onblur = "Script" [TB]     (element üzerinden odaklanma kayboluyor) >

İçerdiği elementler : satıriçi elementleri (çapa elementi dışında)

</a>                                            (Bitiş imi: gerekli )

Çapa elementini İçerebilecek Elementler : Çapa dışında tüm blokdüzey ve satıriçi elementler.

Çapa Elementinin Nitelikleri

Ortak Temel Nitelikler(Çekirdek Nitelikler, Uluslararasılaştırma Nitelikleri, Script Yazılabilecek Olaylar): Bu nitelikler daha önce incelenmiştir.

href = "URI"  [TB] href (hypertext reference) Niteliği hedef çapanın adresini belirtir. Değeri bir URI dir ve mutlak veya göreli olabilir. Hipermetin bağlarının yazılımı konusunda Ek-1 deki bilgiler gözönünde tutulmalıdır. Özellikle Windows işletim sisteminde dosya isimlerinin, Unix sistemine yaklaşacak kadar, büyük/küçük harf yazılımına bağımlı olduğu bilinmelidir.

hreflang = "Dil kodu"   [YZ] Bu niteliğin değeri, href ile belirtilen hedef çapa noktasında bulunan belgenin dilidir. Sadece href niteliğine değer atanmış bildirimler için kullanılması bir anlam taşıyabilir. Bu niteliğin değeri, bir dil kodudur. Varsayılan dil kodu İngilizce olduğundan, sadece farklı diller için dil kodunun belirtilmesi gerekli olabilir. Dil kodları belge çözümleyiciler tarafından henüz değerlendirilmediğinden, kullanılması şimdilik kaydı ile gerekli değildir.

name = "CDATA"  [YD] name Niteliği, id gibi çapa elementine bir ad vermek için kullanılır. name ve id aynı isim uzayını paylaşırlar. Bunun anlamı, aynı belgede aynı karakter dizesi, ne id ne de name değeri olarak bir kez daha kullanılmayacağıdır. name Nitelik değerlerinin seçilmesi, Ek-2 de verilmiştir. name Değeri, biraz eski kalmıştır ve yerine aynı işlevi olan id değeri kullanılabilir. id Değerinden tek farkı, name değeri olarak karakter varlıklarının da kullanılabilmesidir. Yine de, günümüzde artık name yerine  id niteliğinin kullanılmasında yarar bulunmaktadır.

charset = "belge karakter kodlaması"  [YZ] Karakter kodları üzerinde daha önce bilgi verilmiştir. Burada beliritlen karakter kodlaması niteliğinin değeri, hedef çapa noktasındaki belgenin karakter kodlaması değeridir. Karakter kodlaması değerlerinin kuramı incelendiğinde, İngilizce yazılmış belgeler için, hiç bir koşulda charset niteliğinin verilmesi gerekmeyeceği görülebilir. İngilizceden başka dil ile yazılmış belgelerin, çağrılırken charset niteliğinin belirtilmesi doğru görüntülenmelerini garanti etmez. Kullanıcının belge çözümleyicisinin de, çağrılan belgenin yazılmış olduğu karakter kodlamasını doğru çözümleyecek şekilde ayarlanmış olması gerekir. En doğrusu, hem charset niteliğinin belirtilmesi, hem de kullanıcının belge çözümleyicisinin, çağrılan belgenin yazılmış olduğu karakter kodlamasını doğru çözümleyecek şekilde ayarlanmasıdır.

type = "İçerik tipi"   [YZ] Bu niteliğin değeri, hedef belgenin [MIME] tipidir. Belge çağrılırken bu niteliğin belirtilmesi, çağıran belge çözümleyicisinin, çağrılan belge tipini tanımadığı durumlarda, gereksiz arama işlemine girme yerine, alternatif bir mekanizma ile kullanıcıyı uyarması sağlanabilir. Belge çözümleyicilerin böyle bir mekanizma ile donatılmış olup olmadıkları bir yana, yanlış bir belge tipi bildiriminde, çağıran belge çözümleyicisinin, çözümleyebileceği bir bir belgeyi çağırmaması veya çağrılan belge tipinin bildirilen belge tipi ile uyumsuz olması olasıkları bulunmaktadır. Bu bildirimden amaç, bir zaman kazanımı ise, bu kazancın vazgeçilemeyecek kadar çok olmayacağı varsayılarak, belge çözümleyicisinin işine karışmamanın en doğrusu olabileceği düşünülmelidir.

rel = "Bağlantı tipleri"  [YZ] Bu niteliğin değeri, bir bağlantı tipi değeridir ve çağıran belgenin çağrılan belge ile ileriye doğru ilişkisini belirtir. Genel olarak kullanılan değerler,

next

          Bir belge topluluğunda, bir sonraki belge

prev

          Bir belge topluluğunda, bir önceki belge

toc

         İçerik Listesi

index

Bu belge için index dosyası

gibi değerlerdir. Birden fazla değer kullanılmak istenirse, arada boşluk bırakılarak istendiği kadar değer kullanılabilir. Bilindiği gibi, bağlantı tipi değerleri standart değerler değildir ve tamamen isteğe bağlı değerlerdir. Bir tür yorum görevini yaparlar.

rev = "Bağlantı tipleri"[YZ] Bu niteliğin değeri, bir bağlantı tipi değeridir ve çağrılan belgenin çağıran belge ile geriye doğru ilişkisini belirtir.

acceskey =tek karakter [YN] Bu nitelik, bir "hot-key" özelliğidir. İşletim sistemine bağlı olarak, bir "alt" veya "meta" tuşunu basılı tutarak basılacak bir karakter ile bağlantının çalıştırılmasını sağlar. Değeri, bağlantıyı çalıştıracak bir tek karakter değeridir.

tabindex = "sayı"   [YN]Genel olarak bir belge çözümleyicisinde bir belge incelenirken, bağlantılar, fare tıklaması ile çalıştırılır. Aslında, bağlantılar da belge içinde birer nesne olarak kabul edilirler ve tab tuşu ile ilgi nesne üzerine odaklandırılabilir (focus) ve "return" veya "enter" tuşu ile çalıştırılabilir. tabindex Niteliği, tab tuşuna basılma sırasını değiştirerek, bağlantının ilgi odağı kazanması için tab tuşuna basılma sayısını belirtir. Bu niteliğin değeri, sıfırdan farklı bir sayıdır. İlgi odağı kazanmış bir nesne boşluk tuşu ile harekete geçirilebilir. Form nesnelerinin incelenmesi sırasında acceskey ve tabindex nitelikleri üzerinde daha yakından durulacaktır.

shape ve coords Nitelikleri kullanıcı tarafı görüntü haritaları şeklinde bağlantıların oluşturulması ile ilgilidir ve bununla ilgili konular ile birlikte inceleneceklerdir.

onfocus ve onblur Nitelikleri :

Çapa nesnesi üzerinde ilgi odağı oluşması veya kaybolması bu niteliğin değeri olan script programlarını harekete geçirir. Bu olaylar, form nesneleri üzerinde oluşan olaylar ile aynıdır.

Çapa Elementinin Uygulanması

Çapa elementi, bir bağlantı istemidir. Bağlantının başladığı yer (başlangıç çapası) belgenin kendisidir. Bağlantının yapılacağı yer (hedef çapası), href (hypertext reference) niteliğininde belirtilen URI değeridir. Hipermetin bağlantıları konusunda, Ek 1 de verilen bilgileri tekrar gözden geçirmek yararlı olacaktır. Çapa elementinin içeriği, tüm belge çözümleyiciler tarafından genellikle mavi altıçizili karakterlerle gösterilir. Kullanılmış bir link ise, genellikle mor bir renk alır.

href Niteliği, her türlü yerel dosya, URI bilgileri, kısım belirleyicisi formu (fragment identifier) taşıyan bir fragment-URI, hatta bir javascript hhtp formu (javascript-URI) bile olabilir. Ek 1 de incelenen her türlü http protokol türü geçerlidir. Tarayıcı, href niteliğindeki URI formülasyonuna göre dış dosyayı belirtilen bir sunucudan indirebilecek, bir e-posta gönderilmesi için işlemlere başlatacak, bir JavaScript kodunu çalıştırabilecek, bir ses dosyasını çalabilecek veya yerel bir dizinden bir dosyayı açabilecektir. Aşağıdaki örnekler, bu konudaki olanaklardan bazılarını gözününe çıkarmaktadır. Ek 1 de başka bağlantı örnekleri de verilmiştir.

Resim b1s1image1.png yi açmak için lütfen tıklayınız !

remindme.txt dosyasını açmak için lütfen tıklayınız !

Bir şarkı çalınız ! (Bağlantıyı tıklayınız veya alt-a tuşlarına bastıktan sonra enter'e basınız).

Çapa elementinin içeriği bir resim dosyası da olabilir. Bu durumda, resim üzerine tıklanırsa (resim nesnesine ilgi odağı kazandırılır ve harakete geçirilirse), belirtilen hedef bağlantısı sağlanacaktır. Bu konuda, örnek olarak bu sayfanın başlangıç ve sonundaki navigasyon düğmeleri incelenebilir. index.htm Sayfasını açan bu sayfanın başındaki resimli çapa kodu aşağıda görülmektedir :

Buradaki resim görüntüleme kodları kısa bir süre sonra incelenecektir. Fakat öncelikle, burada resmin border niteliğinin değerinin, border="0" olarak belirtilmesi gereğine dikkat edilmelidir. Eğer bu değer açıkça belirtilmezse, belge çözümleyiciler resmin etrafına bir kırmızı çerçeve ( border) çizmektedirler ve bu da istenmeyen bir etki niteliğindedir. HTML 4.01 katı DTD sinde, <img> elementinin border niteliğinin devam ettirilmediği düşünülerek, geçici DTD kullanılmak istenmezse, border niteliği yerine CSS scripti kullanılması gerekmedir. HTML 4.01 katı DTD si kullanılabilmesi için yukarıdaki çapa kodu,

şeklinde yazılabilir. Doğal olarak CSS ifadesi, yukarıda olduğu gibi style niteliğinden yararlanılarak verilebileceği gibi, sayfaya özgü bir <style> elementi kullanılarak, bir dış stil sayfasından yararlanılarak veya var olan bir başka stil sayfasından sayfaya stil ithal edilerek de belirtilebilir.

İsimlendirilmiş Çapa (Named Anchor)

name ve id Niteliklerinin, aynı bellek uzayını paylaştıkları belirtilmişti. Bunun anlamı her ikisinin aynı işleve sahip olduğudur. id Niteliği daha günceldir fakat name niteliği de henüz devam ettirilmektedir (değerini yitirmemiştir) (non depreciated). Tarayıcıların eski sürümlerinde name desteği daha fazla iken, son sürüm belge çözümleyicilerin id niteliğine destekleri sorunsuzdur. Bu niteliğin kullanılması ile bir belgede , bir görüntülenmeyen çapa oluşturulur ve bu çapa, bir belge içi erişim noktası (fragment identifier veya bookmark) oluşturur. Aşağıda, Ek 1 s 1.htm adlı dosyada, belirli bir noktada, bir paragraf içinde satır İçi bir bildirim olarak, bu tip görüntülenmeyen bir isimlendirilmiş (veya kimliklendirilmiş) çapa (named anchor veya anchor with identity) (veya boş çapa) oluşturulması görülmektedir:

hepsi bukadar ve bundan sonra, hhtp protokolu ile, bir başka sayfadan  Ek 1 s 1.htm sayfasının domaintypes kısmına bir çapa atılması (bir yer işareti "bookmark" oluşturularak, belge içi bir erişim sağlanması) olanağı elde edilir. Aşağıda, bu olanağın kullanıldığı bir örnek verilmiştir:

Bu bağlantının sınanması.

Sayfanın belirli bir kısmına çapa atılması için sadece görünmez çapa id lerinden değil, tüm sayfa elemanlarının id lerinden yararlanılabilir. Örnek olarak hedef sayfada <p id="unsafe"> olarak kimlik verilmiş bir paragraf bulunmaktadır. Bu paragrafa da aynen yukarıdaki örnekte olduğu gibi,

şeklinde bir referans verilebilir. Bu bağlantının sınanması.

Sayfanın belirli bir kısmına bağlanılabilmesi, Web sayfalarının tasarımlarını yaparken, gerekli yerlerdeki sayfa elemanlarına mutlaka bir id verilmesini teşvik eder. Bu şekilde, sayfaların kimlik verilmiş kısımlarına referanslar verilebilir ve içerik tabloları kolaylıkla hazırlanılabilir.

Boş çapa elementi ile bir sayfa yer işareti verilmesinde, bazı belge çözümleyicilerin, içeriği olabilen elementlerin içerikleri boş olunca, bunları tanımadıkları gibi uyarılar olmaktadır. Son sürüm belge çözümleyicilerde bu problemle karşılaşılmamıştır. Yine de, her olasılık düşünülerek, çapa elementinin içeriğinin boş bırakılmamasında yarar bulunmamaktadır. Burada bir problemle karşılaşılmaz, çünkü href niteliği olmayan çapa elementinin içeriği görüntülenmez. Bu özelliği gözönüne alarak, hedef sayfadaki çapa işaretçisi,

şeklinde değiştirilebilir ve hedef belgenin görüntüsünde de bir değişiklik gözlenmez.

Aslında, sayfa içindeki her elementin kimlik (id) niteliği ile özel bir yer işareti oluşturulabildiğinden, boş çapa elementinin kullanılması gereği de kalmamıştır. Sayfa içindeki atlama noktalarının günümüzde salt id niteliğininden yararlanılarak oluşturulması, daha güncel olacaktır.

 

 

Wednesday, October 5, 2005 17:48

validate in W3C !Valid HTML 4.01!