Basit HTML bilgileri
Taglar
Bütün HTML belgeleri <!DOCTYPE html>
ile başlar. Sebebi sanırım browser'a hangi HTML versiyonunu kullandığını veya XML kullanıp kullanmadığını belirtmek.
<html>
tagı ise bütün sayfayı kapsar. içinde hem <head>
hem de <body>
vardır. Ayrıca "lang
" attribute'u da html tagı içine girer. <html lang="tr">
Türkçe siteler için idealdir. lang=tr-TR
yapılırsa da Türkiye'deki Türkçe anlaşılır. (İkinci kısım ülke kodu)
<html>
tagından sonra gelen iki ana tag vardır. bunlar <head>
ve <body>
taglarıdır. head, sayfada direkt olarak gözükmeyen kısım iken body sayfada gözüken ana kısımdır. head tagı içinde genelde meta tagları ve diğer sayfa ile ilişkili taglar vardır <title>
gibi.
<head>
tagı içine giren diğer taglar ise şunlardır:
<title>
: Website adını belirler. Yukarıdaki browser tab'ında çıkan addır. (Bu site için "Beyaz Tahta" geçerli.)<title>Beyaz Tahta</title>
<style>
: Website içindeki CSS stillerini belirler. Stiller 3 şekilde websitede bulunur: external - internal - inline. buradaki style tagı ise internal CSS olarak geçer.<style>
tagı kendi içine ayrıca 2 tane özel attribute alabilir. Bunlarmedia
vetype
'dır.media
, websitesinin hangi cihazda nasıl davranacağını gösterirkentype
ise bu style'ın hangi tipte bir yazı dili kullanarak yazıldığını belirtir. Şu andaki tek tiptype="text/css"
idir. Diğer kodlar: IAMA Media Types<link>
: Şu andaki dosya ile başka bir dosya arasına link kurar. Genelde "external CSS style sheet"ler için ve favicon için kullanılır.<link rel="stylesheet" href="style.css">
veya<link rel="icon" type="image/x-icon" href="/images/favicon.ico">
. Link tagı başka attribute'lar da alır, bunlardan başka sitelerde sık kullanılanısizes
ancak ne işe yarar bilmiyorum. 32x32 veya 24x24 yazıyorlar genelde.rel
ise bağlantı relation'unun ne olduğunu söyler. genelde stylesheet veya icon kullanılıyor. Diğer bütün link attributeları için Buraya tıkla.<script>
ise HTML içinde javascript kullanmak için.<head>
içine veya<body>
içine yazılabilir. Ayrıca<head>
içinde<script src="myscripts.js"></script>
şeklinde kullanılarak ayrı bir javascript dosyasından da script alınabilir, aynı CSS stylesheet'lerinde olduğu gibi.<noscript>
ise kullanılan web browser javascript desteklemiyorsa, veya kullanıcı JS'i güvenlik paranoyasıyla kapattıysa kullanıcıya verilecek mesajı yazmak için veya başka bir şey yapmak için kullanılabilir. Genelde bu mesaj kullanıcıya<body>
tagı içerisinde bir yerde verilir, ancak<head>
içinde kullanılırsa bu sefer de noscript içerisinde sadece<link>
,<style>
ve<meta>
tagları kullanılabilir.<meta>
tagı ise derya deniz bir tagdır ve site ile ilgili metadata'ları gösterir.<meta charset="UTF-8">
,<head>
tagının içerisindeki ilk element olmalıdır ki HTML belgesi doğru düzgün okunsun. UTF-8 charset belirler. Diğer charset'ler için buraya tıkla.<meta name="" content="">
name
attribute'u içerisine author, description, keywords ve viewport değerleri gelebilir. Gelebilecek başka değerler ise application-name ve generator. Bu ikisi şimdilik gereksiz istersen ne olduklarına buradan bak. Bu değerler, bu<meta>
tag'ının ne bilgi sunacağını belirler ve bu bilgiyi yine aynı<meta>
tagı içerisindekicontent
attribute'u içerisine istenilen değerler yazılır. Örnek olarak:<meta name="author" content="Kont">
Bu meta değeri, sayfanın yazarının kim olduğunu gösterir.<meta name="description" content="BTA Websitesinin deneme tahtasıdır.">
Bu meta değeri, sayfanın açıklamasıdır. Discord linklerindeki o embed'in içinde yazan yazıdır.<meta name="keywords" content="BTA, Anime, Beyaz tahta, Deneme, HTML, CSS, JS">
Bu meta değeri, search engine'ler için keyword'lerdir.<meta name="viewport" content="width=device-width, initial-scale=1.0">
Bu meta değeri, web sayfasının bütün cihazlarda düzgün gözükmesini sağlar.<meta http-equiv="refresh" content="30">
Buradaki 30'un birimi saniye. Siteye refresh atıyor onun dışında diğerhttp-equiv
attribute işlevlerini ve değerlerinin ne işe yaradığını tam anlayamadım sanırım fonksiyonel meta işi görüyor. linkleyelim sizi.<base>
tagı ise bulunduğunuz sitedeki bütün linklerin (href
vesrc
) neyi temel alacağını gösterir. Örneğin<base href="https://www.bta.neocities.org/" target="_blank">
dediğimiz zaman o anda bulunduğumuz sayfadaki bütün rölatif linkler temel olarak root'u gösterir. Örneğin bta.neocities.org/html/tut/def.html adresinde iseniz vesrc
olarakornek.png
kullandıysanız browser bu resmi bta.neocities.org/html/tut/ornek.png konumunda aramak yerine bta.neocities.org/ornek.png konumunda arar. Bunun dışında yine bulunan sayfadaki linklerde eğertarget
belirtilmemişse yeni bir sayfada açar(_blank)
Sitenin görünen bütün yüzü ise <body>
tagı içerisinde yer alır. <body>
tagı default olarak 8px margin'e sahiptir. Site içeriğinin tamamı buraya yazılır.
<h1>
, <h2>
, <h3>
, <h4>
, <h5>
ve <h6>
tagları başlık belirtir ve 1'den 6'ya doğru yazılmaları lazım. <h1>
tagı sayfanın ana başlığı, <h2>
tagı içerik başlığı şeklinde... Şu anda içinde bulunduğumuz "Taglar" alt başlığı <h3>
başlığıdır.
<p>
ise paragraf belirtir. yazılacak herhangi bir şey buraya yazılır.
Unutulmaması gerekir ki <h1>
ve <p>
blok elementlerdir ve sayfanın sağından soluna 100% genişlikte yer tutarlar.
Bir başka blok element ise <div>
'dir ve sayfada bir "division" belirtir. Genelde CSS ile şekillenirmek amaçlı ve sayfayı bölmek için kullanılır.
<div>
'in blok olmayan, inline olan kuzeni ise <span>
tagıdır. Kullanıldığında sayfada bölünme yaratmaz. <span>
daha çok yazı şekillendirmek için kullanılır.
<br>
bir alt satıra geçmek için kullanılır (aynı <p>
içinde olsanız bile)
<hr>
ise ekran width'i boyunca 100% genişliğine bir çizgi çeker. Genelde bölümleri ayırmak için kullanılır.
HTML kodunuza yorum koymak için <!-- tagı ile -->
tagı arasına yorumunuzu koyun.
Dosya Uzantıları
href
attribute'unun value'su olarak dosya uzantıları kullanılır. bunlar "https://
" içeren websiteler olabilir (statik url), veya rölatif URL'ler olabilir. Relative URL'ler dört farklı şekilde olabilir:
"ornek.png"
: aynı klasör içindeki resim (örneğin bta.neocities.org/html/tut/def.html'de verildiyseroot
/html/tut/ornek.png alır.)"images/ornek.png"
: aynı klasör içindeki bir klasördeki resim (örneğin bta.neocities.org/html/tut/def.html'de verildiyseroot
/html/tut/images/ornek.png alır.)"/images/ornek.png"
: site root klasörü içindeki bir klasördeki resim (örneğin bta.neocities.org/html/tut/def.html'de verildiyseroot
/images/ornek.png alır.)"/ornek.png"
: site root klasörü içindeki bir resim (örneğin bta.neocities.org/html/tut/def.html'de verildiyseroot
/ornek.png alır.)"../ornek.png"
: bulunan klasörün bir üst klasöründeki dosyayı alır (örneğin bta.neocities.org/html/tut/def.html'de verildiyseroot
/html/ornek.png alır.)
Global Attribute'lar
Bu attribute'lar bütün HTML tag'ları için geçerlidir:
class
: Birden fazla tagda kullanılabilir ve CSS/JS için göstergeçtir. CSS'deki kullanım şekli: "test.classname {}"id
: Tek bir tagda kullanılabilir ve CSS/JS için göstergeçtir. Aynı zamanda linkler ile bookmarking yapmak için de kullanılır. Örnek:<a href="index.html#nav">
style
: CSS tipi style belirler. Genelde "inline CSS" diye geçer. Örnek:<p style="color:blue; background-color:pink;">
title
: Farenizi elementin üzerine getirince çıkan tooltip'teki yazıdır. Örnek:<p title="Bir Tutam Anime">BTA</p>
lang
: Tag'ın içindeki yazıların dili.lang="tr"
hidden
: Tag'ı göstermez. JS ile etkileşerek kullanılması daha faydalıdır. Örnek:<p hidden>yazı yazı yazı</p>
translate
: Tag içerisindeki yazıların auto-translate ile çevirilip çevirilmemesi gerektiğini söyler "yes" veya "no" değerleri alır. Örnek:<p translate="no">yazı yazı yazı</p>
dir
: Tag içerisindeki yazının yönünü belirler.<bdo>
'dan farklı olarak sadece yazının yazılış yönünü değiştirir, zorlamaz, dolayısıyla arapça gibi yazılar için idealdir. Örnek:<p dir="rtl">yazı yazı yazı!!!</p>
burada "yazı yazı yazı" düzgün yazılırken (çünkü latince) ünlem işaretleri sağa yazılır (arapçadaki gibi). yazı yazı yazı!!!contenteditable
: Tag içerisindeki yazının kullanıcı tarafından editlenip editlenemeyeceğini belirtir. true veya false değerlerini alır. Örnek:<p contenteditable="true">yazı yazı yazı</p>
yazı yazı yazıspellcheck
: Tag içerisindeki yazı için spellcheck aktifleştirir. true veya false değerlerini alır. Örnek:<p spellcheck="true">yazı yazı yazı</p>
Deneyiniz: Buraya yazı yazın asdasfasfdraggable
: Tag içerisindeki içeriğin fare ile sürüklenip sürüklenemeyeceğini gösterir. Resimler ve linkler gibi aynen. true, false veya auto değerlerini alır. Örnek:<p draggable="true">yazı yazı yazı</p>
Bu metni sürükleyin.tabindex
: Tab'a basılınca hangi tag'ın öncelikli olarak highlight edileceğini gösterir. Normalde tab'a basınca sitedeki linkleri yukarıdan aşağı giderek gösterir. Örnek:<a tabindex="1" href="...">link1</a>
linki<a tabindex="2" href="...">link2</a>
linkinden daha önce tab'lanacaktır,tabindex
'i 1 olan element sayfada diğerinden aşağıda olsa bile.data-*
: Tag'ın hangi data içereceği. JS için ideal.data-
'dan sonra gelen data belirteçi büyük harf içeremez (data-Bird
olamaz.) Örnek:<p data-animal-type="kuş">Baykuş</p>
Burada baykuş kelimesine "kuş" datası yükledik.accesskey
: alt + key tuş kombinasyonu ile hangi element aktive edilip veya elemente focus atılacağını gösterir. Bazı browser'larda shift + alt veya başka kombinasyonlar da kullanılabilir. Örnek:<a accesskey="g" href="...">g ile basılarak gidilen link</a>
Denemek için klavyenizde "alt + i" tuşuna basarak ana sayfaya dönebilirsiniz. Ancak bu yöntemin kullanılması pek tavsiye edilmez.