İçeriğe geç
Yazılım Dilleri

HTML nedir? Örneklerle ilk web sayfanı oluştur

Web sayfalarının iskeleti. Sayfada hangi başlıkların, yazıların, resimlerin ve butonların olacağını söyler. Bir programlama dili değil, bir işaretleme dilidir; web geliştirmeye sayfanın yapısını öğrenerek başlayabilirsin.

İşaretleme dili Zorluk: Kolay 8 uygulamalı ders Kurulum ↓ Derslere atla ↓ Ayrıntılı derslere başla → Oyun alanı ↓
Webino App Ekibi Son güncelleme:
Bu sayfada · 25 başlık

HTML Hakkında Bilmen Gereken 5 Temel Soru

Ne İçin Kullanılır?

Web sayfalarının iskeletini, içeriğini ve semantik yapısını (başlıklar, paragraflar, formlar, bağlantılar ve medya) oluşturmak için kullanılır.

Neler Yapılır?

Tüm internet sitelerinin temel sayfaları, blog yazıları, e-ticaret ürün listeleri, kullanıcı giriş formları ve erişilebilir web belgeleri yapılır.

Nerede Kullanılır?

Dünyadaki istisnasız tüm web sitelerinde, tarayıcılarda, web tabanlı mobil ve masaüstü arayüzlerinde kullanılır.

Nasıl & Nerede Çalıştırılır?

Herhangi bir kod editöründe (VS Code, Not Defteri vb.) `.html` uzantısıyla yazılır; çift tıklanarak Chrome, Firefox, Safari gibi tüm web tarayıcılarında doğrudan çalıştırılır, ek kurulum gerektirmez.

Neden Önemlidir?

Web'in temel yapı taşıdır. CSS ve JavaScript ne kadar gelişirse gelişsin, HTML olmadan hiçbir tarayıcı içerik görüntüleyemez; arama motoru optimizasyonu (SEO) ve erişilebilirliğin kalbidir.

HTML ne için kullanılır?

Web sayfalarının iskeletini oluşturmak

Başlık, paragraf, liste ve tablo eklemek

Resim, video ve bağlantı yerleştirmek

Form oluşturup kullanıcıdan bilgi almak

HTML hakkında kısaca

HTML, 1991 yılında İsviçre'deki CERN araştırma merkezinde çalışan Tim Berners-Lee tarafından, World Wide Web'i (www) icat ederken oluşturuldu. Bugün kullandığımız sürümü HTML5'tir.

Artıları

  • Öğrenmesi çok kolay; birkaç saatte ilk sayfanı yaparsın.
  • Hiçbir şey kurmadan, sadece bir tarayıcı ve bir yazı editörüyle çalışır.
  • Web'in temeli: her web geliştiricisinin bilmesi gerekir.

Eksileri

  • Tek başına sadece sabit sayfalar yapar; etkileşim için JavaScript gerekir.
  • Güzel görünmesi için CSS ile birlikte kullanılmalıdır.

Bilgisayarına nasıl kurulur?

Sayfadaki "Kendin dene" alanları için kurulum gerekmez. Kendi bilgisayarında çalışmak istediğinde bu adımları izle.

  1. 1

    Kurulum gerekmez! Bilgisayarındaki her tarayıcı HTML'i okuyabilir.

  2. 2

    VS Code gibi bir kod editörü kur. Yeni bir klasör aç ve içinde index.html adında bir dosya oluştur.

  3. 3

    VS Code'da boş dosyaya ! yazıp Enter'a basarsan sayfa iskeleti kendiliğinden oluşur. <body> içine şunu ekle:

    HTML
    <h1>Merhaba Dünya!</h1>
  4. 4

    Dosyayı kaydet ve çift tıklayarak tarayıcıda aç. VS Code'un Live Server eklentisiyle, kaydettiğin anda sayfa kendiliğinden yenilenir.

Örneklerle adım adım öğren

Her derste kısa bir açıklama, kod ve kodun ekrana ne yazdığını göreceksin. " Kendin dene" ile kodu hemen değiştirip çalıştırabilirsin.

HTML Nerede ve Hangi Uygulamayla Çalıştırılır? (Kurulum ve Ayarlar)

HTML bir programlama derleyicisi gerektirmez; yazdığın .html uzantılı dosyayı bilgisayarındaki herhangi bir web tarayıcısıyla (Chrome, Edge, Safari, Firefox) çift tıklayarak açabilirsin.

HTML Kurarken Yapılması Gereken Kritik Ayarlar

  • ✓

    1. Dosya Uzantısını .html Olarak Kaydetme

    Dosya adını index.html yaparken Windows’un sonuna gizlice .txt eklemediğinden (index.html.txt olmadığından) emin ol. En garantisi klasörü doğrudan VS Code içinde açmaktır.

  • ✓

    2. Emmet Kısayolu (! + Tab)

    VS Code’da boş bir index.html dosyası açıp sadece ünlem işareti (!) yazdıktan sonra Tab tuşuna bas; standart <!DOCTYPE html> ve <meta charset="UTF-8"> iskeleti otomatik oluşur.

  • ✓

    3. Live Server ve Auto Save Ayarı

    VS Code’da File → Auto Save seçeneğini işaretle ve sağ alttaki "Go Live" butonuna tıkla. Artık her harf yazdığında sayfa tarayıcıda canlı güncellenir.

HTML kurulum ayarları, eklentiler ve ilk çalıştırma ekranı şeması
HTML için önerilen kurulum onay kutuları, eklentiler ve ilk çalıştırma komutu özeti.
HTML sayfalarını yazmak ve Live Server ile canlı önizlemek için VS Code
HTML sayfalarını yazmak ve Live Server ile canlı önizlemek için VS Code.

İlk HTML Kodunu Çalıştırma Komutları:

HTML Kurulum & Çalıştırma
<!-- 1. VS Code'da index.html oluştur ve ! + Tab tuşuna bas: -->
<!DOCTYPE html>
<html lang="tr">
<head>
  <meta charset="UTF-8">
  <title>İlk Web Sayfam</title>
</head>
<body>
  <h1>Merhaba HTML!</h1>
</body>
</html>
1

İlk HTML sayfan

HTML, etiketlerden oluşur: <h1> büyük başlık, <p> paragraf demek. Çoğu etiket açılır ve sonunda </p> gibi bir eğik çizgiyle kapanır.

HTML
<h1>Merhaba Dünya!</h1>
<p>Bu benim ilk web sayfam.</p>

▶ Sonuç

Büyük, kalın bir "Merhaba Dünya!" başlığı ve altında normal boyutta "Bu benim ilk web sayfam." yazısı görünür.

Bu konuyu uygulayarak öğren

Başlık ve paragraf kullanarak anlamlı bir içerik bölümü oluşturmak.

HTML bir metni süslemekten önce onun görevini belirtir. h1 bir ana başlıktır; p bir paragraftır. Tarayıcı bu işaretleri okur, belge ağacını oluşturur ve kendi varsayılan görünümünü uygular. Başlığın büyük olması bu varsayılan görünümün sonucudur. Yalnızca büyük yazı istediğin için başlık etiketi seçme; görünümü daha sonra CSS ile ayarlayacağız.

HTML · İlk HTML sayfan — videolu atölye: açıklamalı kavram şeması
Webino App öğretici şeması · Uygulama ekran görüntüsü değildir.
Videoyla adım adım izle · 4:35

Türkçe açıklamalı sessiz görsel anlatım. Sesli ders veya kesintisiz ekran kaydı değildir. Duraklatıp kendi ortamında uygula.

Video bölümleri ve tam metin

İlk HTML sayfan

Başlık ve paragraf kullanarak anlamlı bir içerik bölümü oluşturmak.

Kavramı kur

HTML bir metni süslemekten önce onun görevini belirtir. h1 bir ana başlıktır; p bir paragraftır. Tarayıcı bu işaretleri okur, belge ağacını oluşturur ve kendi varsayılan görünümünü uygular. Başlığın büyük olması bu varsayılan görünümün sonucudur. Yalnızca büyük yazı istediğin için başlık etiketi seçme; görünümü daha sonra CSS ile ayarlayacağız.

Neden böyle çalışıyor?

Bir öğeyi açılış etiketi, içerik ve kapanış etiketi olarak düşün. <p> ifadesi paragrafı açar; </p> paragrafı bitirir. İç içe öğelerde en son açtığını önce kapatırsın. Kodun girintili yazılması çalışmayı sihirli biçimde değiştirmez ama yanlış kapanışları görmeyi kolaylaştırır.

Çalışma sırası

Bir sayfayı önce taslak olarak kâğıda yaz: konu başlığı, kısa tanıtım ve bir alt başlık. Sonra her parçanın anlamına uygun etiketi seç. Bu alışkanlık görsel tasarımdan önce içerik düzenini düşünmeni sağlar; aynı belge küçük ekranda veya ekran okuyucuda da anlaşılır kalır.

İkinci örnek · 1

h1 sayfanın ana konusunu adlandırır; belge başlığı olan title ile aynı görevde değildir. Kodun tamamı yazılı derste bulunur.

Kod

<h1>Benim öğrenme günlüğüm</h1>
<p>Bugün <strong>ilk HTML sayfamı</strong> yazdım.</p>
<h2>Yarın ne yapacağım?</h2>
<p>Bir bağlantı ekleyeceğim.</p>

Beklenen sonucu oku

h2 ana konunun altındaki bölümü başlatır; sırayı yazı boyutuna göre atlama.

Beklenen çıktı: Bir ana başlık, önemli kısmı vurgulanmış paragraf, bir alt başlık ve ikinci paragraf.

Bir değeri sen değiştir

Ana başlığı kendi seçtiğin bir konuya dönüştür. İki ayrı düşünce için iki paragraf yaz; her paragrafta yalnızca bir güçlü vurgu kullan.

Hata nereden gelir?

Bir etiketi kapatmayı unutmak sonraki içeriğin de o öğenin içinde kalmasına yol açabilir; açılan ve kapanan etiketleri eşleştir.

Kendi çözümünü kur

Bir h2 ekle; taslağını CSS kullanmadan yalnızca içerik düzeni açısından değerlendir. Önce düz metni yaz. Sonra başlıkların çevresine h1/h2, cümlelerin çevresine p ekle.

Çözüm varyasyonu · 1

Önce kendi denemeni yap; sonra bu varyasyonun girdileri ile sonucunu karşılaştır.

Kod

<h1>Kitap günlüğüm</h1>
<p>Bu hafta <strong>bir roman</strong> bitirdim.</p>
<h2>Sıradaki hedefim</h2>
<p>Bir öykü kitabı okuyacağım.</p>

Kendini kontrol et

h2 neden kullanılır? Yanıt: Ana konunun altındaki bir bölümü anlamlandırmak için; yalnızca yazıyı küçük yapmak için değil.

Beklenen çıktı: Kitap günlüğü başlığı ve iki bölümlü okunabilir bir içerik.

Ayrıntılı ders, alıştırmalar ve çözümler
Bir paragraf için hangi etiketi seçersin?

2

Sayfanın iskeleti

Her HTML dosyası bu yapıyla başlar. <head> sayfa hakkındaki bilgileri tutar ve ekranda görünmez; <body> ise ekranda görünen her şeyi içerir. charset="UTF-8" Türkçe karakterlerin düzgün görünmesini sağlar.

HTML
<!DOCTYPE html>
<html lang="tr">
  <head>
    <meta charset="UTF-8">
    <title>Sekmede görünen başlık</title>
  </head>
  <body>
    <h1>Görünen her şey body içine yazılır</h1>
  </body>
</html>

▶ Sonuç

Ekranda "Görünen her şey body içine yazılır" başlığı görünür. "Sekmede görünen başlık" ise tarayıcı sekmesinde yazar.

Bu konuyu uygulayarak öğren

Tam bir HTML dosyasını doğru belge iskeletiyle kaydetmek.

Bir HTML dosyasında ziyaretçinin gördüğü içerik ile belge hakkında bilgi veren bölüm ayrıdır. head bölümünde karakter kodlaması, sekme başlığı ve stil bağlantıları bulunur. body bölümünde ise başlık, paragraf, menü ve diğer görünür öğeler yer alır. Bu ayrım dosyan büyüdüğünde yanlış yere yazılmış içeriği bulmanı kolaylaştırır.

HTML · Sayfanın iskeleti — videolu atölye: açıklamalı kavram şeması
Webino App öğretici şeması · Uygulama ekran görüntüsü değildir.
Videoyla adım adım izle · 4:35

Türkçe açıklamalı sessiz görsel anlatım. Sesli ders veya kesintisiz ekran kaydı değildir. Duraklatıp kendi ortamında uygula.

Video bölümleri ve tam metin

Sayfanın iskeleti

Tam bir HTML dosyasını doğru belge iskeletiyle kaydetmek.

Kavramı kur

Bir HTML dosyasında ziyaretçinin gördüğü içerik ile belge hakkında bilgi veren bölüm ayrıdır. head bölümünde karakter kodlaması, sekme başlığı ve stil bağlantıları bulunur. body bölümünde ise başlık, paragraf, menü ve diğer görünür öğeler yer alır. Bu ayrım dosyan büyüdüğünde yanlış yere yazılmış içeriği bulmanı kolaylaştırır.

Neden böyle çalışıyor?

DOCTYPE tarayıcının belgeyi standart HTML olarak ele almasını sağlar. html üzerindeki lang, sayfanın temel dilini bildirir; metni çevirmek veya klavye dilini değiştirmek için kullanılmaz. UTF-8 Türkçe karakterlerin doğru çözülmesine yardım eder. Dosyayı editörde de UTF-8 olarak kaydetmelisin.

Çalışma sırası

Tarayıcı kaynak kodunu harfi harfine çizmez; kurallara göre işler ve bazı eksikleri düzeltmeye çalışır. Sayfanın açılması tek başına yapının doğru olduğunu kanıtlamaz. İncele araçlarında Elements bölümünü açarak tarayıcının oluşturduğu belge ağacı ile yazdığın kaynağı karşılaştır.

İkinci örnek · 1

DOCTYPE belge türünü belirtir; ekranda bir satır yazdırmaz. Kodun tamamı yazılı derste bulunur.

Kod

<!doctype html>
<html lang="tr">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>Öğrenme günlüğü</title>
</head>
<body>
  <h1>Merhaba!</h1>
  <p>Türkçe: ç, ğ, ı, ö, ş, ü.</p>
</body>
</html>

Beklenen sonucu oku

body içine görünür öğeler yazılır; meta ayarlarını buraya taşımak gerekmez.

Beklenen çıktı: Sekme başlığı Öğrenme günlüğü olur; gövdede Merhaba ve Türkçe karakterler görünür.

Bir değeri sen değiştir

Örneği index.html olarak kaydet ve tarayıcıda aç. title ile h1 değerlerini farklı yap; hangisinin nerede göründüğünü not et.

Hata nereden gelir?

Başlığın sekmede değişmemesi yanlış dosyayı açtığını veya kaydetmediğini gösterebilir; dosya yolunu karşılaştır.

Kendi çözümünü kur

Telefon görünümünü açıp viewport satırı varken ve yokken davranışı karşılaştır. Dosya uzantısını denetle: index.html.txt bir HTML dosyası olarak açılmayabilir.

Çözüm varyasyonu · 1

Önce kendi denemeni yap; sonra bu varyasyonun girdileri ile sonucunu karşılaştır.

Kod

<!doctype html>
<html lang="tr">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>Deneme sekmesi</title>
</head>
<body><h1>Sayfadaki başlığım</h1></body>
</html>

Kendini kontrol et

lang="tr" hangi işi yapar? Yanıt: Belgenin temel dilini bildirir; sayfayı otomatik olarak Türkçeye çevirmez.

Beklenen çıktı: Sekmede Deneme sekmesi; gövdede Sayfadaki başlığım.

Ayrıntılı ders, alıştırmalar ve çözümler
Türkçe sayfada lang="tr" ne işe yarar?

3

Bağlantılar ve resimler

<a> bağlantı oluşturur; href nereye gideceğini söyler. <img> resim ekler; src resmin adresi, alt ise resim yüklenemezse ya da görme engelli biri ekran okuyucu kullanıyorsa okunacak açıklamadır. <img> kapanış etiketi istemez.

HTML
<a href="https://www.wikipedia.org">Vikipedi'ye git</a>

<img src="https://picsum.photos/300/150" alt="Dış kaynaktan yüklenen örnek fotoğraf">

▶ Sonuç

Tıklanabilir mavi "Vikipedi'ye git" yazısı ve yanında bir fotoğraf görünür.

Bu konuyu uygulayarak öğren

Dosya yolları, anlaşılır bağlantılar ve erişilebilir görseller kullanmak.

Bağlantının görünen metni ile hedefi iki ayrı bilgidir. href hedef adresi tutar; a öğesinin içindeki metin kullanıcıya ne olacağını anlatır. Sadece “buraya tıkla” yerine “Python çalışma planını oku” gibi bir metin, bağlantıların tek başına da anlaşılmasını sağlar. İnternet adresi ile projendeki göreli dosya yolunu karıştırma.

HTML · Bağlantılar ve resimler — videolu atölye: açıklamalı kavram şeması
Webino App öğretici şeması · Uygulama ekran görüntüsü değildir.
Videoyla adım adım izle · 4:35

Türkçe açıklamalı sessiz görsel anlatım. Sesli ders veya kesintisiz ekran kaydı değildir. Duraklatıp kendi ortamında uygula.

Video bölümleri ve tam metin

Bağlantılar ve resimler

Dosya yolları, anlaşılır bağlantılar ve erişilebilir görseller kullanmak.

Kavramı kur

Bağlantının görünen metni ile hedefi iki ayrı bilgidir. href hedef adresi tutar; a öğesinin içindeki metin kullanıcıya ne olacağını anlatır. Sadece “buraya tıkla” yerine “Python çalışma planını oku” gibi bir metin, bağlantıların tek başına da anlaşılmasını sağlar. İnternet adresi ile projendeki göreli dosya yolunu karıştırma.

Neden böyle çalışıyor?

Görselde src dosyayı gösterir; alt ise görselin o bağlamda taşıdığı bilgiyi anlatır. Bir fotoğraf içerik için önemliyse kısa ama anlamlı bir açıklama yaz. Sırf süs olan görselde boş alt kullanılabilir. Dosya adını veya “resim” sözcüğünü tekrar etmek yerine ziyaretçinin kaçıracağı anlamı düşün.

Çalışma sırası

Göreli yol bulunduğun dosyanın klasörüne göre çözülür. Sayfa bir alt klasöre taşınırsa aynı yol başka bir yeri gösterebilir. Tarayıcının Network bölümünde isteğin tam adresini ve 404 durumunu kontrol et. Sorunu dosyanın kendisinde mi yoksa ona giden yolda mı aradığını böyle ayırabilirsin.

İkinci örnek · 1

./ aynı klasörü, ../ bir üst klasörü ifade eder. Kodun tamamı yazılı derste bulunur.

Kod

<a href="dersler/python.html">Python derslerini aç</a>
<img src="gorseller/calisma-masasi.jpg"
     alt="Not defteri yanında açık kod editörü"
     width="640" height="400"
     style="max-width:100%;height:auto">

Beklenen sonucu oku

alt, görselin her pikselini değil içerikteki amacını anlatır.

Beklenen çıktı: Dosyalar bu yollarda varsa Python bağlantısı ve ekran genişliğine sığan fotoğraf görünür.

Bir değeri sen değiştir

Bir gorseller klasörü aç; kendi seçtiğin bir fotoğrafı içine koy. src yolunu bilinçli olarak yanlış yaz; Network bölümündeki adresi ve alt metnini gözlemle.

Hata nereden gelir?

İnternetten kopyalanan görsel adresi kalıcı olmayabilir; izinli kendi görselini yerelde tut ve kaynağını not et.

Kendi çözümünü kur

Bir alt klasördeki sayfadan üst klasöre giden bağlantı yaz ve nereye çözüldüğünü kontrol et. Dosyanın bulunduğu konumdan değil, HTML dosyasının konumundan başlayarak yolu çiz.

Çözüm varyasyonu · 1

Önce kendi denemeni yap; sonra bu varyasyonun girdileri ile sonucunu karşılaştır.

Kod

<a href="../index.html">Ana sayfaya dön</a>
<img src="../gorseller/notlar.jpg" alt="Üç aşamalı çalışma planı" width="600" height="400">

Kendini kontrol et

Bir alt klasördeki sayfadan üst klasördeki index.html hedefine nasıl gidilir? Yanıt: ../index.html ile; ../ bir klasör yukarı çıkar.

Beklenen çıktı: Bir alt klasörden ana sayfaya ve üstteki gorseller klasörüne erişir; dosyalar ayrıca oluşturulmalıdır.

Ayrıntılı ders, alıştırmalar ve çözümler
Bir resim için anlamlı alternatif metin hangi özelliktedir?

4

Listeler

<ul> madde işaretli, <ol> numaralı liste oluşturur. Listedeki her eleman <li> etiketiyle yazılır.

HTML
<h3>Alışveriş listesi</h3>
<ul>
  <li>Ekmek</li>
  <li>Süt</li>
</ul>

<h3>Tarif adımları</h3>
<ol>
  <li>Suyu kaynat</li>
  <li>Makarnayı ekle</li>
</ol>

▶ Sonuç

Noktalarla işaretlenmiş bir alışveriş listesi ve 1, 2 diye numaralanmış tarif adımları görünür.

Bu konuyu uygulayarak öğren

Sıralı ve sırasız bilgileri doğru liste yapısıyla sunmak.

Bir liste öğelerin birbiriyle ilişkisinin işaretidir. Alışveriş ürünleri için sıranın önemi yoktur; ul uygundur. Kurulum veya yemek tarifi gibi adımlarda sıra değişirse anlam bozulabilir; ol kullan. Nokta veya numaranın görünümünü daha sonra CSS ile değiştirebilirsin; HTML seçimini görünüşe göre değil anlama göre yap.

HTML · Listeler — videolu atölye: açıklamalı kavram şeması
Webino App öğretici şeması · Uygulama ekran görüntüsü değildir.
Videoyla adım adım izle · 4:35

Türkçe açıklamalı sessiz görsel anlatım. Sesli ders veya kesintisiz ekran kaydı değildir. Duraklatıp kendi ortamında uygula.

Video bölümleri ve tam metin

Listeler

Sıralı ve sırasız bilgileri doğru liste yapısıyla sunmak.

Kavramı kur

Bir liste öğelerin birbiriyle ilişkisinin işaretidir. Alışveriş ürünleri için sıranın önemi yoktur; ul uygundur. Kurulum veya yemek tarifi gibi adımlarda sıra değişirse anlam bozulabilir; ol kullan. Nokta veya numaranın görünümünü daha sonra CSS ile değiştirebilirsin; HTML seçimini görünüşe göre değil anlama göre yap.

Neden böyle çalışıyor?

Her öğe li ile yazılır. Alt liste ekleyeceksen onu ilgili li öğesinin içine koy; doğrudan dıştaki listeye metin veya rastgele paragraflar yerleştirme. Girinti, hangi alt öğenin hangi ana maddeye ait olduğunu görmene yardımcı olur. Derinlik arttıkça kullanıcı için de gereksiz karmaşa oluşabileceğini unutma.

Çalışma sırası

Uzun bir anlatımı listeye çevirmek her zaman daha iyi değildir. Birbirine paralel görevleri kısa maddelerle yaz, açıklamaları gerekirse maddenin içinde tut. İşlemden önce gereken malzemeler ile işlemin adımlarını ayrı listelere bölmek, yeni başlayan birinin hazırlık ile uygulamayı ayırmasını sağlar.

İkinci örnek · 1

ul sırası önemli olmayan öğeleri gruplar. Kodun tamamı yazılı derste bulunur.

Kod

<h2>Çalışma sıram</h2>
<ol>
  <li>Konuyu oku.</li>
  <li>Örneği dene.
    <ul><li>Bir değeri değiştir.</li><li>Sonucu not et.</li></ul>
  </li>
  <li>Kendi çözümünü yaz.</li>
</ol>

Beklenen sonucu oku

Liste başlığı liste dışında uygun bir h2 veya h3 ile verilir.

Beklenen çıktı: Üç numaralı ana adım; ikinci adım altında iki madde.

Bir değeri sen değiştir

Üç ürünlü bir alışveriş listesi yaz. Aynı ürünleri satın alma önceliğine göre numaralı bir listeye çevir.

Hata nereden gelir?

Numaraları metne elle eklemek sıralamayı değiştirdiğinde tutarsızlık yaratır; ol kendi numarasını üretir.

Kendi çözümünü kur

İkinci ürüne iki alt açıklama ekle; HTML ağacında bu açıklamaların hangi li içinde olduğunu bul. Alt listenin açılış ve kapanışını ana li kapanmadan önce yerleştir.

Çözüm varyasyonu · 1

Önce kendi denemeni yap; sonra bu varyasyonun girdileri ile sonucunu karşılaştır.

Kod

<h2>Hazırlık</h2>
<ul><li>Editör</li><li>Tarayıcı</li></ul>
<h2>Uygulama</h2>
<ol><li>Dosyayı aç.</li><li>Kaydet.</li><li>Yenile.</li></ol>

Kendini kontrol et

Kurulum adımlarında ol neden ul’den daha uygun olabilir? Yanıt: Adımların sırası işlemin anlamının bir parçasıdır.

Beklenen çıktı: Hazırlık için iki maddeli, uygulama için üç adımlı liste.

Ayrıntılı ders, alıştırmalar ve çözümler
Numaralı liste hangisidir?

5

Tablolar

<table> tablo, <tr> satır, <th> başlık hücresi, <td> normal hücre demek. Çizgileri ve boşlukları CSS ile ayarlıyoruz; tablo görsel yerleşim için değil, ilişkili verileri sunmak içindir.

HTML
<style>
  table { border-collapse: collapse; }
  th, td { border: 1px solid #64748b; padding: 8px; }
</style>
<table>
  <tr>
    <th>Dil</th>
    <th>Örnek kullanım</th>
  </tr>
  <tr>
    <td>Python</td>
    <td>Otomasyon</td>
  </tr>
  <tr>
    <td>Java</td>
    <td>Sunucu uygulamaları</td>
  </tr>
</table>

▶ Sonuç

İki sütunlu, çizgili bir tablo: üstte kalın "Dil" ve "Örnek kullanım" başlıkları, altında iki satır.

Bu konuyu uygulayarak öğren

İlişkili verileri başlıklarıyla birlikte bir tabloya dönüştürmek.

Tablo, satır ve sütunlar arasındaki ilişkiyi anlatır. Bir fiyat listesi veya ders programı buna örnektir. Sayfanın sağ ve sol sütununu tabloyla kurmak ise içerik anlamı ile yerleşimi karıştırır; görsel düzen için CSS Grid veya Flexbox kullanılır. Önce verinin satır ve sütun başlıklarını kâğıt üzerinde belirle.

HTML · Tablolar — videolu atölye: açıklamalı kavram şeması
Webino App öğretici şeması · Uygulama ekran görüntüsü değildir.
Videoyla adım adım izle · 4:35

Türkçe açıklamalı sessiz görsel anlatım. Sesli ders veya kesintisiz ekran kaydı değildir. Duraklatıp kendi ortamında uygula.

Video bölümleri ve tam metin

Tablolar

İlişkili verileri başlıklarıyla birlikte bir tabloya dönüştürmek.

Kavramı kur

Tablo, satır ve sütunlar arasındaki ilişkiyi anlatır. Bir fiyat listesi veya ders programı buna örnektir. Sayfanın sağ ve sol sütununu tabloyla kurmak ise içerik anlamı ile yerleşimi karıştırır; görsel düzen için CSS Grid veya Flexbox kullanılır. Önce verinin satır ve sütun başlıklarını kâğıt üzerinde belirle.

Neden böyle çalışıyor?

th bir başlık hücresidir. scope="col" o başlığın bir sütunu, scope="row" bir satırı tanımladığını bildirir. caption tablonun ne hakkında olduğunu açıklayan bir başlıktır. Bu bilgiler ekran okuyucunun hücreler arasındaki ilişkiyi aktarabilmesine yardımcı olur; kalın yazı vermekle aynı şey değildir.

Çalışma sırası

Tablo küçük ekranda genişleyebilir. İçindeki veriyi sıkıştırıp okunamaz yapmak yerine gerektiğinde tabloyu kendi yatay kaydırma alanına al. Sayfanın tamamını yatay kaydırmak bir çözüm değildir. Başlıkların her satırla doğru eşleştiğini ve uzun kelimelerin hücre sınırlarını bozmadığını kontrol et.

İkinci örnek · 1

caption tablonun konusunu açıklar. Kodun tamamı yazılı derste bulunur.

Kod

<table>
  <caption>Haftalık çalışma</caption>
  <thead><tr><th scope="col">Gün</th><th scope="col">Dakika</th></tr></thead>
  <tbody>
    <tr><th scope="row">Pazartesi</th><td>30</td></tr>
    <tr><th scope="row">Salı</th><td>45</td></tr>
  </tbody>
</table>

Beklenen sonucu oku

CSS kenarlık ekler; veri ilişkisinin anlamını ise HTML taşır.

Beklenen çıktı: Gün ve Dakika sütunlarında Pazartesi 30, Salı 45 verileri.

Bir değeri sen değiştir

İki sütunlu ve üç veri satırlı bir tablo oluştur. caption ekle; satır ve sütun başlıklarında scope kullan.

Hata nereden gelir?

Başlık yerine td kullanıp yazıyı kalınlaştırmak başlık ilişkisini kurmaz; th ve scope kullan.

Kendi çözümünü kur

Ekranı 320 piksele daralt; gerekirse tabloyu overflow-x:auto alanına al. Önce yalnızca başlık satırını yaz, sonra her satır için aynı veri düzenini tekrar et.

Çözüm varyasyonu · 1

Önce kendi denemeni yap; sonra bu varyasyonun girdileri ile sonucunu karşılaştır.

Kod

<div style="overflow-x:auto">
<table>
<caption>Örnek fiyatlar</caption>
<tr><th scope="col">Ürün</th><th scope="col">TL</th></tr>
<tr><th scope="row">Defter</th><td>25</td></tr>
<tr><th scope="row">Kalem</th><td>10</td></tr>
</table>
</div>

Kendini kontrol et

caption ve th aynı şeyi mi yapar? Yanıt: Hayır. caption bütün tablonun konusunu, th belirli satır veya sütunun başlığını belirtir.

Beklenen çıktı: İki ürün ve fiyatları; kapsayıcı gerektiğinde yatay kaydırılır.

Ayrıntılı ders, alıştırmalar ve çözümler
Tabloda başlık hücresi hangisidir?

6

Formlar

Formlar kullanıcıdan bilgi almanı sağlar. <input> bir yazı kutusu oluşturur; type ile ne tür bilgi beklendiğini söylersin (text, email, password). <label> kutunun ne için olduğunu yazar ve for ile kutunun id değerine bağlanır.

HTML
<form>
  <label for="isim">Adın:</label>
  <input id="isim" name="isim" type="text" placeholder="Ayşe">

  <label for="eposta">E-posta:</label>
  <input id="eposta" name="eposta" type="email" placeholder="ornek@eposta.com">

  <button type="submit">Gönder</button>
</form>

▶ Sonuç

Ad ve e-posta kutuları ile bir Gönder butonu görünür. name alanları gönderilecek veriyi adlandırır. Bu örnek yalnızca form arayüzüdür; bilgiyi kaydeden bir sunucu içermez.

Bu konuyu uygulayarak öğren

Etiketli, klavyeyle kullanılabilir ve beklentisi anlaşılır bir form kurmak.

Form birden çok giriş alanını tek işlem için gruplar. label alanın ne istediğini anlatır; placeholder ise örnek verir ve yazmaya başlayınca kaybolur. Bu nedenle placeholder etiketi yerine geçmez. label üzerindeki for ile input üzerindeki id aynı olursa etikete tıklamak ilgili alanı odaklar.

HTML · Formlar — videolu atölye: açıklamalı kavram şeması
Webino App öğretici şeması · Uygulama ekran görüntüsü değildir.
Videoyla adım adım izle · 4:35

Türkçe açıklamalı sessiz görsel anlatım. Sesli ders veya kesintisiz ekran kaydı değildir. Duraklatıp kendi ortamında uygula.

Video bölümleri ve tam metin

Formlar

Etiketli, klavyeyle kullanılabilir ve beklentisi anlaşılır bir form kurmak.

Kavramı kur

Form birden çok giriş alanını tek işlem için gruplar. label alanın ne istediğini anlatır; placeholder ise örnek verir ve yazmaya başlayınca kaybolur. Bu nedenle placeholder etiketi yerine geçmez. label üzerindeki for ile input üzerindeki id aynı olursa etikete tıklamak ilgili alanı odaklar.

Neden böyle çalışıyor?

name gönderilen verinin anahtarıdır. id belge içinde öğeyi tanımlar; iki alan aynı id değerini taşımamalıdır. type="email" gibi türler tarayıcıya beklenen biçim hakkında bilgi verir. required boş bırakmayı engelleyebilir, fakat bu kontroller verinin doğru kişiye ait olduğunu kanıtlamaz ve sunucu tarafı doğrulamasının yerini tutmaz.

Çalışma sırası

HTML formu eklemek veriyi otomatik olarak kaydetmez. Gerçek gönderim için action/method hedefini veya JavaScript akışını ayrıca tasarlamak gerekir. Başlangıçta gerçek kişisel bilgi kullanmadan alanlara örnek veri gir. Önce klavyeyle sırayı, hata mesajını ve gönder düğmesinin amacını değerlendir.

İkinci örnek · 1

label for ile input id eşleşir; kullanıcı etikete tıklayabilir. Kodun tamamı yazılı derste bulunur.

Kod

<form>
  <label for="ornek-eposta">E-posta</label>
  <input id="ornek-eposta" name="email" type="email" required>
  <label for="konu">Konu</label>
  <select id="konu" name="topic"><option>HTML</option><option>CSS</option></select>
  <button type="button">Bu yalnızca arayüz denemesi</button>
</form>

Beklenen sonucu oku

Gönderim yapmayan denemede type=button düğmesi kullan; gerçek kayıt varmış izlenimi verme.

Beklenen çıktı: Etiketi olan e-posta kutusu ve konu seçimi. Düğme veri göndermez.

Bir değeri sen değiştir

Etikete tıklayıp doğru kutunun odaklandığını kontrol et. Tab ile bütün alanları ve düğmeyi dolaş; görünür odak işaretini izle.

Hata nereden gelir?

İçeriği sadece placeholder ile açıklamak kullanıcı yazınca bilgiyi kaybettirir; görünür label bırak.

Kendi çözümünü kur

Bir submit düğmesini yalnızca yerel denemede kullan; alan boşken ve hatalı e-posta biçimindeyken tarayıcının davranışını karşılaştır. Aynı id değerini iki kez kullanma; her label kendi alanını tanımlamalı.

Çözüm varyasyonu · 1

Önce kendi denemeni yap; sonra bu varyasyonun girdileri ile sonucunu karşılaştır.

Kod

<form>
<label for="ad">Ad</label>
<input id="ad" name="name" autocomplete="given-name" required>
<label for="mesaj">Mesaj</label>
<textarea id="mesaj" name="message" rows="3"></textarea>
<button type="button">Örnek form</button>
</form>

Kendini kontrol et

Veriyi gönderirken id mi name mi alan anahtarı olur? Yanıt: name; id belge içindeki öğeyi etiketle ilişkilendirmek gibi amaçlarla tanımlar.

Beklenen çıktı: Ad ve mesaj alanları; bu örnekte kayıt veya gönderim yapılmaz.

Ayrıntılı ders, alıştırmalar ve çözümler
Bir formda şifre alanı hangisidir?

7

Anlamlı etiketler (semantik HTML)

<header> (üst kısım), <nav> (menü), <main> (ana içerik), <article> (yazı) ve <footer> (alt bilgi) etiketleri ekranda özel bir görünüm oluşturmaz ama sayfanın yapısını anlatır. Böylece Google sayfanı daha iyi anlar, ekran okuyucular da sayfayı görme engelli ziyaretçilere doğru okur.

HTML
<header>
  <h1>Webino App</h1>
  <nav>Ana Sayfa | Diller | Araçlar</nav>
</header>
<main>
  <article>
    <h2>Python Öğren</h2>
    <p>Python ile okunabilir örnekler yazabilirsin.</p>
  </article>
</main>
<footer>© 2026 Webino App</footer>

▶ Sonuç

Başlık, menü yazısı, bir yazı ve en altta telif satırı alt alta görünür.

Bu konuyu uygulayarak öğren

Belgenin ana bölgelerini anlamlı etiketlerle düzenlemek.

Semantik, bir öğenin belgede ne görev yaptığını belirtmesidir. header tanıtım alanı, nav önemli bağlantı grubu, main ana içerik, footer ise kapanış bilgileri için kullanılabilir. Bunlar yalnızca div yerine yazılan süslü adlar değildir; yardımcı teknolojiler ve sayfayı okuyan geliştiriciler için bölge bilgisi taşırlar.

HTML · Anlamlı etiketler (semantik HTML) — videolu atölye: açıklamalı kavram şeması
Webino App öğretici şeması · Uygulama ekran görüntüsü değildir.
Videoyla adım adım izle · 4:35

Türkçe açıklamalı sessiz görsel anlatım. Sesli ders veya kesintisiz ekran kaydı değildir. Duraklatıp kendi ortamında uygula.

Video bölümleri ve tam metin

Anlamlı etiketler (semantik HTML)

Belgenin ana bölgelerini anlamlı etiketlerle düzenlemek.

Kavramı kur

Semantik, bir öğenin belgede ne görev yaptığını belirtmesidir. header tanıtım alanı, nav önemli bağlantı grubu, main ana içerik, footer ise kapanış bilgileri için kullanılabilir. Bunlar yalnızca div yerine yazılan süslü adlar değildir; yardımcı teknolojiler ve sayfayı okuyan geliştiriciler için bölge bilgisi taşırlar.

Neden böyle çalışıyor?

article kendi başına anlamlı olabilen bir içeriği, section ise genellikle başlığı bulunan tematik bir bölümü temsil eder. Her kutuya section demek gerekmez; yalnızca görsel gruplama yapıyorsan div uygundur. Başlık sırası ile bölge etiketleri birbirini desteklemeli, biri diğerinin yerine geçmemelidir.

Çalışma sırası

Bir sayfayı anlamak için CSS’i geçici olarak kapattığını düşün. Konu, ana içerik ve menü bağlantıları hâlâ anlaşılabiliyor mu? Aynı belgeye klavyeyle ulaşıp başlıkları takip et. Tasarımın gerçek gücü yalnızca renklerden değil, içerik düzeninin görsel stil olmadan da ayakta kalmasından gelir.

İkinci örnek · 1

nav her bağlantı için değil, temel gezinme grupları için kullanılır. Kodun tamamı yazılı derste bulunur.

Kod

<header><p>Öğrenme günlüğüm</p><nav><a href="#notlar">Notlar</a></nav></header>
<main>
<h1>HTML çalışıyorum</h1>
<section id="notlar"><h2>Bugünkü notlar</h2><p>Önce anlam, sonra görünüm.</p></section>
</main>
<footer><p>Hazırlayan: Deniz</p></footer>

Beklenen sonucu oku

section kullanıyorsan bölümün konusunu açıklayan bir başlık düşün.

Beklenen çıktı: Başlık/menü, ana içerik, notlar bölümü ve alt bilgi.

Bir değeri sen değiştir

Bir önceki dersinin div gruplarını incele; yalnızca anlamı uygun olanları değiştir. Bir ana başlık ve iki alt bölüm kur.

Hata nereden gelir?

Başlıksız section sayısını artırmak yapıyı açıklamaz; tematik olmayan gruplarda div kullan.

Kendi çözümünü kur

CSS olmadan okuma sırasını kontrol et; menüden bölüm bağlantısını dene. Etiket seçimini kutunun rengine değil, içeriğin sayfadaki rolüne göre yap.

Çözüm varyasyonu · 1

Önce kendi denemeni yap; sonra bu varyasyonun girdileri ile sonucunu karşılaştır.

Kod

<main>
<h1>Çalışma notlarım</h1>
<article><h2>İlk denemem</h2><p>Bağımsız okunabilen kısa yazı.</p></article>
<section><h2>Kaynaklar</h2><ul><li>Resmî belgeler</li></ul></section>
</main>

Kendini kontrol et

Her görsel kutu neden section olmamalıdır? Yanıt: section tematik bir bölümü temsil eder; yalnızca görsel gruplama için div daha uygundur.

Beklenen çıktı: Ana konu altında bağımsız bir yazı ve kaynaklar bölümü.

Ayrıntılı ders, alıştırmalar ve çözümler
Ana içerik için hangi semantik etiket uygundur?

8

Yorumlar ve boşluklar

<!-- ... --> arasına yazdıkların ekranda görünmez; kendine not almak için kullanılır. HTML fazla boşlukları ve satır atlamalarını yok sayar: yeni satır için <br>, yeni paragraf için yeni bir <p> kullanılır.

HTML
<!-- Bu bir yorum: tarayıcı bunu göstermez -->
<p>Bu     yazıdaki     fazla     boşluklar
tek boşluğa dönüşür.</p>

<p>Satır atlamak için<br>br etiketi kullanılır.</p>

▶ Sonuç

Yorum görünmez. İlk paragraf tek satırda normal aralıklarla, ikinci paragraf iki satıra bölünmüş görünür.

Bu konuyu uygulayarak öğren

Yorum, boşluk ve kaynak görünürlüğü arasındaki farkı açıklamak.

HTML yorumları kaynak kodunu okuyan kişiye not bırakır. Tarayıcı bunları normal sayfa içeriği gibi çizmez; fakat yorumlar ziyaretçiden saklanan gizli bir alan değildir. Kaynağı görüntüleyen biri yorumları okuyabilir. Bu nedenle parola, anahtar veya kişisel bilgiyi yoruma yazmak bir güvenlik yöntemi değildir.

HTML · Yorumlar ve boşluklar — videolu atölye: açıklamalı kavram şeması
Webino App öğretici şeması · Uygulama ekran görüntüsü değildir.
Videoyla adım adım izle · 4:35

Türkçe açıklamalı sessiz görsel anlatım. Sesli ders veya kesintisiz ekran kaydı değildir. Duraklatıp kendi ortamında uygula.

Video bölümleri ve tam metin

Yorumlar ve boşluklar

Yorum, boşluk ve kaynak görünürlüğü arasındaki farkı açıklamak.

Kavramı kur

HTML yorumları kaynak kodunu okuyan kişiye not bırakır. Tarayıcı bunları normal sayfa içeriği gibi çizmez; fakat yorumlar ziyaretçiden saklanan gizli bir alan değildir. Kaynağı görüntüleyen biri yorumları okuyabilir. Bu nedenle parola, anahtar veya kişisel bilgiyi yoruma yazmak bir güvenlik yöntemi değildir.

Neden böyle çalışıyor?

Normal metin akışında art arda gelen boşluklar genellikle tek boşluk gibi gösterilir. Kodda satır atlamak, ekranda yeni paragraf oluşturmaz. İki ayrı düşünce için p, anlamlı bir satır sonu için uygun bağlamda br kullanılır. Şiir veya adres gibi metinler ile sayfa düzeni için boşluk açmayı birbirinden ayır.

Çalışma sırası

pre önceden biçimlendirilmiş metnin boşluklarını korur; code ise kod parçasının anlamını belirtir. Bir HTML etiketini ekranda düz metin olarak göstermek için < ve > işaretlerini karakter başvurularıyla yazmalısın. Aksi hâlde tarayıcı örneği anlatım olarak değil gerçek etiket olarak yorumlayabilir.

İkinci örnek · 1

<!-- ... --> bir HTML yorumudur. Kodun tamamı yazılı derste bulunur.

Kod

<!-- Bu not kaynakta görünür. Gizli bilgi yazma. -->
<p>Birinci     düşünce.</p>
<p>İkinci düşünce.</p>
<pre><code>&lt;h1&gt;Örnek&lt;/h1&gt;</code></pre>

Beklenen sonucu oku

< işareti ekranda < görünmesini sağlar; gerçek etiket açmaz.

Beklenen çıktı: İki paragraf ve düz metin olarak <h1>Örnek</h1> kodu. Yorum çizilmez.

Bir değeri sen değiştir

Kaynağa bir açıklama yorumu ekle ve sayfa kaynağında bul. Normal p içine beş boşluk ekle; görünümle kaynak arasındaki farkı incele.

Hata nereden gelir?

Yorum içine anahtar yazmak onu saklamaz; istemciye gönderilen kaynak okunabilir.

Kendi çözümünü kur

Bir etiketi gerçek öğe oluşturmadan code içinde göster. Gösterilecek örnek kodundaki < işaretini < olarak yaz.

Çözüm varyasyonu · 1

Önce kendi denemeni yap; sonra bu varyasyonun girdileri ile sonucunu karşılaştır.

Kod

<p>Etiket örneği:</p>
<pre><code>&lt;p&gt;Merhaba&lt;/p&gt;</code></pre>
<!-- Bu açıklama ziyaretçiden gizli değildir. -->

Kendini kontrol et

Bir yoruma yazılan parola güvenli biçimde saklanmış olur mu? Yanıt: Hayır; yorum sayfa kaynağında okunabilir. Gizli bilgiler istemciye gönderilmemelidir.

Beklenen çıktı: <p>Merhaba</p> düz metin olarak görünür; yeni bir paragraf etiketi oluşturmaz.

Ayrıntılı ders, alıştırmalar ve çözümler
HTML yorumu nasıl yazılır?

HTML öğrenirken sık yapılan hatalar

Bunlarla karşılaşırsan panik yapma; herkesin başına gelir.

Etiketi kapatmayı unutmak

<p> ile açtığın paragrafı </p> ile kapatmazsan sonraki öğeler beklenmedik şekilde görünebilir.

Türkçe karakterlerin bozuk görünmesi

<head> içine <meta charset="UTF-8"> eklemeyi unutursan "ş, ğ, ı" gibi harfler bozuk görünür.

Resim yolunu yanlış yazmak

src="../assets/images/marka/webino.svg" yazdıysan resim, HTML dosyasıyla aynı klasörde olmalı. Dosya adı ve büyük/küçük harfler birebir aynı olmalı.

Daha fazlası için Yaygın Yazılım Hataları sayfasına bak.

Sonraki adımlar: öğrenme yol haritası

HTML öğrenmeye devam etmek için bu sırayı izleyebilirsin.

  1. 1

    HTML temelleri

    Bu sayfadaki 8 dersi bitir.

  2. 2

    CSS

    Sayfana renk ve düzen vermek için CSS öğren.

  3. 3

    İlk siten

    Kendini tanıtan tek sayfalık bir site yap ve GitHub Pages ile yayınla.

  4. 4

    JavaScript

    Sayfana hareket ve etkileşim katmak için JavaScript'e geç.

Resmi kaynakMDN: HTML rehberi
Uygulamalı Öğrenme

HTML Bilgini Pekiştir ve Uygulamaya Başla

Yalnızca teoride kalma! HTML için hazırladığımız adım adım 8 interaktif ders, tarayıcıda kod deneme atölyeleri ve seviye tespit sınavıyla kendini hemen geliştir.

Kod oyun alanı

HTML kodunu burada dene

Bir dersin kodunu seç ya da kendi kodunu yaz. Kodu değiştir; sonuç aşağıdaki önizlemede anında güncellenir.

Kodu değiştir ve ▶ Çalıştır butonuna bas.

Sitenin dışında denemek istersen: Bilgisayarında bir .html dosyası oluştur, kodu içine yapıştır ve dosyaya çift tıklayarak tarayıcıda aç. İnternette denemek için codepen.io sitesini de kullanabilirsin.

Bitirme projesi: Anlamlı ve erişilebilir kişisel tanıtım sayfası

Bir ziyaretçinin kim olduğunu, ne öğrendiğini ve kaynaklarına nasıl ulaşacağını anlayabildiği tek sayfalık bir belge hazırla. Önce içerik hiyerarşisini kur; görsel tasarımı CSS modülüne bırak.

  1. DOCTYPE, lang, charset, viewport ve anlamlı title içeren tam belge oluştur.
  2. Tek ana başlık, kısa tanıtım ve iki alt bölüm yaz.
  3. Öğrenme hedeflerini sıralı, kaynaklarını sırasız listele.
  4. İzinli bir görsel ekle; anlamlı alt, width ve height belirt.
  5. İlişkili küçük bir veri tablosu kur; caption ve uygun th/scope kullan.
  6. Gerçek gönderim yapmayan, etiketli bir örnek iletişim formu ekle.
  7. header/nav/main/footer ile bölgeleri ayır; bağlantıları ve bütün dosya yollarını dene.
  8. HTML kaynağını ve tarayıcının oluşturduğu belge ağacını karşılaştır.

Projen bitti mi? Bunları doğrula

Temellerden sonra devam müfredatı

Bu modül başlangıç ve uygulamalı temel sağlar. Aşağıdaki konular ayrı derinleşme alanlarıdır; yalnızca bu sayfayı bitirmek bütün dili bildiğin anlamına gelmez.

  1. Erişilebilir form hata mesajları ve belge doğrulama
  2. Responsive görseller: picture ve srcset
  3. Medya öğeleri, metadata ve gerçek sunucuya form gönderimi
Bitirme projesi için referans çözüm

Önce kendi projen üzerinde çalış. Bu küçük başlangıç çözümünü inceleyip görevlerde istenen ek durumlarla geliştir.

HTML

<!doctype html>
<html lang="tr">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Deniz'in öğrenme günlüğü</title>
</head>
<body>
<header><nav><a href="#hedefler">Hedefler</a> <a href="#kaynaklar">Kaynaklar</a></nav></header>
<main>
<h1>Öğrenme günlüğüm</h1>
<p>Ben Deniz. Web belgelerini anlamlı biçimde düzenlemeyi öğreniyorum.</p>
<section id="hedefler"><h2>Hedeflerim</h2>
<ol><li>HTML yapısı</li><li>CSS görünümü</li><li>JavaScript etkileşimi</li></ol>
</section>
<section id="kaynaklar"><h2>Kaynaklar</h2>
<ul><li><a href="https://developer.mozilla.org/">MDN belgeleri</a></li></ul>
</section>
<section><h2>Çalışma planım</h2>
<table><caption>Örnek süreler</caption>
<tr><th scope="col">Gün</th><th scope="col">Dakika</th></tr>
<tr><th scope="row">Pazartesi</th><td>30</td></tr></table>
</section>
<section><h2>Örnek iletişim alanı</h2>
<form><label for="ad">Ad</label><input id="ad" name="ad">
<label for="mesaj">Mesaj</label><textarea id="mesaj" name="mesaj"></textarea>
<button type="button">Bu örnek veri göndermez</button></form>
</section>
</main>
<footer><p>Hazırlayan: Deniz · Örnek içerik</p></footer>
</body></html>

Dosyayı tarayıcıda aç; bölüm bağlantıları ve etiketli formu klavyeyle dene. Görsel alıştırması için kendi izinli fotoğrafını ve anlamlı alt metnini ekle.

Örnek proje dosyalarını indirResmî öğrenme müfredatı

Şimdi sen yap

Bu içerik işine yaradı mı?

Görüşünü aşağıdan işaretleyebilir ve varsa notunu bırakabilirsin.