HomeFrontend Geliştirme

HTML5 Nedir?

HTML5 Nedir?

HTML5 nedir sorusunun cevabı aslında oldukça basit. HTML’in son versiyonudur. Fakat bu tanım bize pek bir şey ifade etmiyor. Aslında HTML5:

  • Belirsiz veya kalitesiz biçimlendirme kodlaması yapsanız bile tutarlı bir DOM(Belge Nesnesi) yapısı üretmek için ayrıştırma algoritması oluşturur
  • Multimedya ve web uygulamalarını desteklemek için yeni unsurlar ekliyor
  • Mevcut HTML öğelerinin kurallarını ve anlamlarını yeniden tanımlar. Anlamdan kastettiğim semantikleri

HTML5 ile ses ve videoları direkt olarak dökümanınıza ekleyebiliyorsunuz. Satır için SVG biçimlendirmelerini kullanabiliyorsunuz. Direkt olarak input etiketlerine içerisine özellik tanımlayarak daha sağlam form deneyimleri oluşturabilirsiniz. Tuval yani canvas etiketini kullanarak oyunlar, çizelgeler ve animasyonlar oluşturabilirsiniz. Belgeleriniz çapraz belge mesajlaşması(cross-document) ile birbirleriyle iletişim kurabilir. Kısacası HTML5’e artık bir işaretleme dilinden çok uygulama platformu demek daha doğru olur.

HTML5’in Yapısı

Her HTML döküman bir veya bir kaç öğeden oluşur ve bu öğeler etiketlerle tanımlanır. HTML etiketler bir öğenin nerede başlayıp nerede durduğunu işaretlememizi sağlayan bir dizi karakterdir. Bütün etiketler küçüktür işareti(<) ile başlar ve büyüktür işareti(>) ile sonlanır. Her öğenin başlangıç veya açılış etiketi vardır ve < ile başlar ve etiketin adı ile devam eder. Etiket ismini varsa bazı özellik setlerini tanımlayarak devam ederiz ve sonra > işaretiyle kapatırız. Aşağıdaki input örneğini inceleyelim:

Bu örnekte typename ve disabled özelliklerdir. İlk iki özelliğin değerleri alenen yazılmış fakat disabled için herhangi bir değer yazılmamış. Bazı öğeler boş özellikleri kabul ederler ve bu özellikler genellikle doğru/yanlış mantığı ile çalışır. Boş değer kabul eden özelliklere bir değer bile yazarsanız çalışmaya devam edecektir. Yani disabled=”true” veya disabled=”false” yazsanız bile bu input alanınız iki şekilde de devre dışı kalacaktır.

Fakat bir çok öğenin birde kapanış etiketi vardır. Bu etiket yine < işareti ile başlar ve hemen sonrasında etiket adı yerine eğik çizgi (/) konulur ve sonrasında etiket adı yazılır. Son olarak da > işareti ile kapatılır. Bununla birlikte bazı öğeler boş öğe olarak tanımlanır. Bu öğelerin herhangi bir içerik içermez ve kapanış etiketine sahip değillerdir. Yukarıdaki input örneğinde gördüğümüz öğe bir boş öğedir ve kapanış etiketi içermez. Şu anda üç aşağı beş yukarı etiketlerle ilgili temel bir bilgiye sahip olduk. Şimdi HTML5’i biraz daha yakından inceleyelim.

İlk HTML5 Dökümanınızı Oluşturun

Kullandığınız bir metin editörünü açın ve aşağıdaki kodu içine kopyalayıp yapıştırın. Bu dosyay ilk.html olarak kaydedin:

Tebrikler – ilk HTML5 belgenizi oluşturdunuz. Çok çılgınca abartılı bir döküman değil fakat HTML5 temellerini içeriyor.

İlk satırımız yani 

 satırı gerekli bir satırdır. Bu satır sayesinde tarayıcıya “Biz HTML5 standartlarıyla hazırladık belgemizi” demiş oluyorsunuz. Bu satır olmazsa tarayıcı belgenizi yanlış ayrıştırabilir. Neden? Bunun sebebi DOCTYPE değişimidir.

DOCTYPE değişiminden kastımız tarayıcılar DOCTYPE tanımlanıza göre belgenizi farklı şekillerde ayrıştırıp işleyebilirler.

HTML 4.01 ve XHTML 1.0 DOCTYPE’larını göz önüne alırsak stricttransitional ve  frameset gibi farklı modlara sahiptir. Mesela HTML 4.01‘de strict mode kullanmak istersek DOCTYPE şu şekilde olacaktır:

HTML5 Söz Dizimi

Şimdi farklı bir HTML5 belgesini inceleyelim:

Gördüğünüz üzere ilk satırımız yine DOCTYPE tanımını içeriyor. Diğer bütün HTML5 etiketleri gibi DOCTYPE’da aslında büyük-küçük harfe duyarlı değildir. Yani shifte basmak zor geliyorsa

 de yazabilirsiniz. Sorun olmaz. Belkide Caps Lock açık bir şekilde yazmayı seviyorsunuzdur. O zaman da

 yazabilirsiniz. Bu da bir problem değil.

Bir sonraki öğemiz

.  Bu kısım genellikle belgenizle ilgili Karakter Kodlaması, Başlık gibi bilgiler içerir. Bu örneğimizde

öğesi sayfanın karakter kodlamasını gösteren bir

etileti içeriyor. Karakter kodlaması tanımlaması yapmak aslında isteğe bağlıdır. Gerekli değildir fakat yapmanız kesinlikle önerilir ve mümkünse UTF-8 yapın.

UTF-8 Kullandığınızdan Emin Olun!!

Belgenizi kullandığınız metin editörü ile kaydederken BOM’suz UTF-8 karakter kodlaması ile kaydettiğinize emin olun. UTF-8 kullanırsanız projeleriniz asla Türkeç, Çinçe, Rusça vs. gibi karakter problemi yaşamazsınız.

öğemiz ayrıca belgemizin başlığını(

) içeriyor. Tarayıcıların nerdeyse hepsi

etiketleri arasına yazılan yazıyı pencerenin ve sekmenin üstünde yazar.

Yorumlar ise tarayıcılar tarafından işlenmeyen yazı alanlarıdır. Belgenizin kaynağını görüntülerseniz görebilirsiniz ve genellikle kendiniz için veya takım arkadaşınız için not bırakmak için yazarsınız.

ile başlayıp

ile biter.

Bir belge örneğimizde olduğu gibi harici bir kaynağı işaret eden

öğesine sahip olabilir. Bu harici kaynaklar RSS besleme adresleri, stil dosyaları veya favicon resimleri olabilir. Harici kaynakla dökümanımızın arasındaki ilişkiyi tanımlamak içinse

özelliğini kullanıyoruz. Bu örneğimizde

etiketi ile harici kaynaktan CSS stil dosyamıza ulaştık ve

ile bunun stil dosyamız olduğunu tarayıcıya söyledik.

Stillerimizi tanımlamak için bir sonraki satırda görebileceğiniz üzere

öğesini kullandık.

öğesi ile stil dosyamızı harici bir kaynaktan içeri aktarabildiğimiz gibi belge içerisinde de

etiketini kullanarak da stillerimizi oluşturabiliriz.

Sonuç olarak

ve

öğelerinin birer boş öğe olduğunu da bu sayede görmüş olduk.

Tırnak İşareti Kullanmamız Gerekmiyor muydu?

Son örneğimizde farkettiyseniz öğelerin özelliklerini yazarken tırnak işareti kullanmadık. Peki özellikleri tanımlarken tırnak kullanmamıza gerek yok mu? Aslında bu sorunun cevabı hem evet hem de hayır. Eğer özelliğiniz değeri tek bir kelimeden oluşuyorsa tırnak kullanmanız gerek yoktur fakat değeri boşluk içeriyorsa kesinlikle tırnak kullanma zorunluluğunuz vardır. Çift tırnak ” veya tek tırnak ‘ kullanmak sizin zevkinize kalmış bir durumdur. Aşağıdaki örnekle bu durumu pekiştirelim:

Bu örnekte

özelliğine iki değer verdik fakat tırnak içine almadık. Tarayıcı bunu şöyle okuyacaktır:

Sadece php değeri class olarak değerlendiriecektir ve kodurenklendir ise boş bir özellik adı olarak değerlendirilecek.

Sonuç

HTML5’in ne olduğunu sizi de fazla boğmadan anlatmaya çalıştım. Bu yazıyı yazarken HTML’e kısmen de olsa aşina olduğunuzu göz önünde bulundurarak hazırladım. Bir sonraki yazıda belgelerimizi biraz daha şekillendirmeye başlayacağız kısmet olursa. Hatalı olduğum yanlış telafuz ettiğim yerler olursa, sorularınız varsa lütfen yorum olarak bana iletin. Sevgilerimle,

Yorumlar

TOPLAM 0
DISQUS: 0