Web Tasarımı

Dijital Dünyanın Mimarlığı


Zonguldak Bülent Ecevit Üniversitesi | Öğr.Gör.Tahsin ÇİLOĞLU

Beyin Fırtınası

🧠
  • 1. İlk İzlenim:
    Bir web sitesine girdiğinizde sizi orada tutan veya hemen çıkmanıza neden olan ilk şey nedir?
  • 2. Estetik vs İşlev:
    Çok şık ama karışık bir site mi, yoksa basit ama işini yapan bir site mi?
  • 3. Güven:
    Sadece tasarımına bakarak bir markaya kredi kartı bilgilerinizi verir misiniz?

Web Tasarımı Nedir?

Web tasarımı, internet üzerinde görüntülenen web sitelerinin planlanması, oluşturulması ve düzenlenmesi sürecidir.

  • Görsel estetik
  • Kullanıcı deneyimi (UX)
  • Bilgi mimarisi
🎨 + 💻

Ne İşe Yarar?

Marka Kimliği

Kurumların dijital dünyadaki yüzünü oluşturur.

İletişim

Kullanıcılarla etkileşim ve bilgi paylaşımı sağlar.

Erişilebilirlik

Ürün ve hizmetlerin 7/24 ulaşılabilir olmasını sağlar.

Kullanım Alanları

🛒 E-Ticaret
📝 Bloglar & Haber
🏢 Kurumsal Siteler
🎓 Eğitim Platformları
📁 Portfolyolar
🎮 Eğlence & Medya

Web'in Tarihçesi

1991
İlk Web Sitesi (HTML)
1996
Flash & Tablo Tasarımları
1998
CSS Devrimi
2010+
HTML5 & Responsive Tasarım

Tasarım İlkeleri

Denge

Öğelerin görsel ağırlığının eşit dağıtılması.

Hiyerarşi

Gözün izleyeceği yolun önem sırasına göre belirlenmesi.

Bütünlük

Tüm parçaların birbiriyle uyumlu bir bütün oluşturması.

Renk & Tipografi

  • 60-30-10 Kuralı: %60 Ana, %30 İkincil, %10 Vurgu rengi.
  • Kontrast: Okunabilirliği artırmak için zıt renkler.
  • Font Seçimi: En fazla 2-3 farklı font ailesi.
🎨

UI vs UX

UI (Arayüz)

Nasıl göründüğü.

Örn: Cam Ketçap Şişesi (Şık ama zor)

  • Renkler
  • Butonlar
  • Formlar

UX (Deneyim)

Nasıl hissettirdiği.

Örn: Plastik Şişe (Kolay kullanım)

  • Kullanım Kolaylığı
  • Hız
  • Akış

Responsive Tasarım

Her ekrana uyum sağlayan esnek yapılar.

📊 İstatistik: 2025'te web trafiğinin %64'ü mobilden geliyor.
📱 Mobil Öncelikli
💻 Masaüstü
📐 Grid & Flexbox

1. Temel Yapı Etiketleri

<html>: Belgenin kök etiketidir.

<head>: Meta bilgilerin (başlık, karakter seti) bulunduğu bölümdür.

<body>: Kullanıcının gördüğü tüm içerik buradadır.


<!DOCTYPE html>
<html lang="tr">
  <head>
    <meta charset="UTF-8">
    <title>HTML5 Örnek</title>
  </head>
  <body>
    <h1>Merhaba HTML5</h1>
  </body>
</html>
                        

2. Metin ve Başlıklar

<h1>-<h6>: Başlık hiyerarşisi.

<p>: Paragraf.

<strong>, <em>: Kalın ve İtalik vurgu.

<br>, <hr>: Satır atlama ve yatay çizgi.


<h1>Ana Başlık</h1>
<h2>Alt Başlık</h2>

<p>
  <strong>Önemli</strong> ve 
  <em>vurgulu</em> metin.
</p>

Satır 1<br>Satır 2
<hr>
                        

3. Liste Etiketleri

Sırasız (<ul>)


<ul>
  <li>HTML</li>
  <li>CSS</li>
</ul>
                        

Sıralı (<ol>)


<ol>
  <li>Kurulum</li>
  <li>Geliştirme</li>
</ol>
                        

Oyun 1: Adam Asmaca (Web Terimleri)

Nasıl Oynanır: Gizli web terimini bulmak için harflere tıklayın. 6 yanlış hakkınız var!

4. Bağlantı ve Medya

<a>: Link oluşturur.

<img>: Görsel ekler.


<!-- Link -->
<a href="google.com" target="_blank">Google</a>

<!-- Resim -->
<img src="resim.jpg" alt="Örnek" width="200">

<!-- Video -->
<video width="320" controls>
  <source src="video.mp4" type="video/mp4">
</video>
                        

5. HTML5 Semantik (Önemli)

Erişilebilirlik İpucu: Semantik etiketler, ekran okuyucuların (screen readers) sayfayı görme engelli kullanıcılar için doğru şekilde seslendirmesini sağlar.

<header>
Üst kısım
<nav>
Menü
<section>
Bölümleme
<article>
Bağımsız içerik
<aside>
Yan içerik
<footer>
Alt bilgi

5.1 <header> Etiketi

Sayfanın veya bir bölümün başlık kısmını tanımlar.

  • Logo
  • Site Başlığı
  • Arama Çubuğu
  • Navigasyon Menüsü

<header>
  <h1>Web Dünyası</h1>
  <img src="logo.png" alt="Logo">
</header>
                        

5.2 <nav> Etiketi

Sayfanın ana navigasyon (menü) bağlantılarını içerir.

Genellikle <ul> (liste) yapısı ile birlikte kullanılır.


<nav>
  <ul>
    <li><a href="#anasayfa">Ana Sayfa</a></li>
    <li><a href="#hakkimizda">Hakkımızda</a></li>
    <li><a href="#iletisim">İletişim</a></li>
  </ul>
</nav>
                        

5.3 <main> Etiketi

Sayfanın ana ve benzersiz içeriğini kapsar.

⚠️ Bir sayfada sadece bir tane <main> etiketi bulunmalıdır.


<main>
  <h2>Bugünün Makalesi</h2>
  <p>Web tasarımı öğrenmek...</p>
  <!-- Ana içerik buraya -->
</main>
                        

5.4 <section> Etiketi

Konu bütünlüğü olan bölümleri gruplamak için kullanılır.

Genellikle bir başlığı (<h2>-<h6>) olur.


<section id="hizmetler">
  <h2>Hizmetlerimiz</h2>
  <p>Web Tasarım</p>
  <p>SEO Çalışması</p>
</section>
                        

5.5 <aside> Etiketi

Ana içerikle dolaylı yoldan ilişkili yan içerikleri kapsar.

  • Yan Menüler (Sidebar)
  • Reklam Alanları
  • Son Yazılar Listesi

<aside>
  <h3>Kategoriler</h3>
  <ul>
    <li>HTML</li>
    <li>CSS</li>
  </ul>
</aside>
                        

5.6 <footer> Etiketi

Sayfanın veya bölümün alt bilgisini içerir.

  • Telif Hakkı (Copyright)
  • İletişim Bilgileri
  • Sosyal Medya Linkleri

<footer>
  <p>© 2025 Örnek Site</p>
  <a href="mailto:iletisim@ornek.com">Mail At</a>
</footer>
                        

6. Form İşlemleri

Kullanıcıdan veri almak için kullanılır.

  • Input Türleri: text, email, date...
  • Select: Açılır liste
  • Button: Gönder butonu

<form>
  <label>Ad:</label>
  <input type="text" placeholder="Adınız">
  
  <input type="email">
  <input type="date">
  
  <select>
    <option>HTML</option>
  </select>
  
  <button>Gönder</button>
</form>
                        

7. Tablo Yapısı

Verileri satır ve sütunlar halinde düzenler.


<table border="1">
  <tr> <!-- Satır -->
    <th>Ders</th> <!-- Başlık Sütunu -->
    <th>Saat</th>
  </tr>
  <tr>
    <td>HTML</td> <!-- Veri Sütunu -->
    <td>4</td>
  </tr>
</table>
                        

Önizleme

Ders Saat
HTML 4

8.1 Diğer Araçlar: Iframe

<iframe>: Başka bir web sayfasını veya medyayı sayfa içine gömer.

Örn: Harita, YouTube videosu.


<iframe 
  src="https://www.openstreetmap.org/export/embed.html?bbox=28.97,41.00,29.00,41.02&layer=mapnik" 
  width="100%" 
  height="200"
  style="border:none;">
</iframe>
                            

Önizleme

8.2 Diğer Araçlar: Progress & Meter

<progress>: Tamamlanma yüzdesi (İndirme vb.).

<meter>: Belli bir aralıktaki değer (Disk doluluğu vb.).


<!-- İlerleme -->
<label>Dosya İndiriliyor:</label>
<progress value="75" max="100"></progress>

<!-- Ölçüm -->
<label>Disk Kullanımı:</label>
<meter value="0.8">80%</meter>
                            

Önizleme

9. Tam Uygulama Örneği


<!DOCTYPE html>
<html lang="tr">
...
<body>
  <header>...</header>
  <nav>...</nav>
  <section>...</section>
  <footer>...</footer>
</body>
</html>
                        

1. CSS Yazma Yöntemleri

CSS kodlarını 3 farklı şekilde kullanabiliriz:

  • Harici (External): .css dosyası (En İyi Yöntem)
  • Dahili (Internal): <style> etiketi içinde
  • Satır İçi (Inline): style="" özelliği ile

<!-- Harici CSS Bağlantısı -->
<link rel="stylesheet" href="stil.css">
                        

1.1 Metin Biçimlendirme

Metinleri biçimlendirmek için kullandığımız temel CSS özellikleri:

  • font-weight: bold; (Kalın)
  • font-style: italic; (İtalik)
  • text-decoration: underline; (Altı Çizgili)

.kalin { font-weight: bold; }
.italik { font-style: italic; }
.cizgili { text-decoration: underline; }
                        

2. CSS Seçiciler (Selectors)

Etiket, Class, ID


p { color: red; }
.kutu { background-color: yellow; }
#baslik { font-size: 24px; }
                        

3. Metin Özellikleri

  • color: Yazı rengi
  • text-align: Hizalama (center, left, right)
  • text-transform: Büyük/küçük harf dönüşümü

p {
  color: blue;
  text-align: center;
  text-transform: uppercase;
}
                        

4. Font Ayarları

Yazı tipi, boyutu ve kalınlığı.


body {
  font-family: Arial, sans-serif;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.6;
}
                        

5. Renk Tanımları (RGBA)

CSS3 ile gelen yarı saydam renk desteği.


/* Kırmızı, Yeşil, Mavi, Saydamlık (0-1) */
.transparan {
  color: rgba(255, 0, 0, 0.5); /* %50 Saydam Kırmızı */
}
                    

6. Box Model

Her HTML elemanı bir kutudur: Content + Padding + Border + Margin


div {
  width: 200px;  /* İçerik */
  padding: 20px; /* İç Boşluk */
  border: 2px solid black; /* Kenarlık */
  margin: 10px;  /* Dış Boşluk */
}
                    

7. Background (Arka Plan)


body {
  background-image: url('bg.jpg');
  background-size: cover; /* Resmi ekrana yayar */
  background-position: center;
}
                    

8. Border & Radius

Kenarlıkları yuvarlatma özelliği.


div {
  border: 1px solid #ddd;
  border-radius: 15px; /* Köşeleri yumuşatır */
}
                    

9. Gölge Efektleri

Nesnelere derinlik katar.


div {
  /* X-ekseni Y-ekseni Bulanıklık Renk */
  box-shadow: 5px 5px 10px gray;
}
                    

Oyun 2: CSS Eşleştirme

Nasıl Oynanır: Sol taraftaki CSS özelliklerini sağdaki doğru açıklamalarıyla eşleştirin.

10. Display Özelliği

block

Tüm satırı kaplar (div, p, h1)

inline

Sadece içeriği kadar yer kaplar (span, a)

inline-block

Satır içi ama boyut verilebilir.

10.1 Display: Block

block elemanlar her zaman yeni satırdan başlar ve mevcut genişliğin tamamını kaplar.

  • div, p, h1-h6, section
  • Genişlik (width) ve Yükseklik (height) verilebilir.

.kutu {
    display: block;
    width: 50%;
    margin-bottom: 10px;
}
                            

10.2 Display: Inline

inline elemanlar sadece içerikleri kadar yer kaplar ve satır başı yapmazlar.

  • span, a, strong, em
  • ⚠️ Width ve Height özellikleri ÇALIŞMAZ.
  • Margin/Padding sadece yatayda etki eder.

.vurgu {
    display: inline;
    padding: 5px;
    background: yellow;
}
                            

10.3 Display: Inline-Block

Hem inline hem de block özelliklerini taşır.

  • Yan yana dizilirler (Inline özelliği).
  • Boyut verilebilir (Block özelliği).
  • Menüler ve kart tasarımları için idealdir.

.kart {
    display: inline-block;
    width: 100px;
    height: 100px;
}
                            

11. Position (Konum)

relative: Normal akışa göre konum.

absolute: En yakın konumlanmış ataya göre.

fixed: Ekrana sabitler.


div {
  position: relative;
  top: 20px; /* Yukarıdan 20px it */
}
                        

12. Flexbox

Tek boyutlu (satır/sütun) yerleşim modeli.


.container {
  display: flex;
  justify-content: space-between; /* Yatay hizalama */
  align-items: center; /* Dikey hizalama */
}
                    

13. Grid System

İki boyutlu ızgara yerleşim sistemi.


.grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr); /* 3 eşit sütun */
  gap: 20px;
}
                    

14. Media Query (Responsive)

Farklı ekran boyutlarına göre stil değiştirme.


@media (max-width: 768px) {
  body {
    background-color: gray;
    font-size: 14px;
  }
}
                    

15. Transition (Geçiş)

Değişiklikleri zamana yayarak yumuşatır.


button {
  background: blue;
  transition: background 0.5s ease;
}

button:hover {
  background: darkblue;
}
                    

16. Transform

Öğeleri döndürme, büyütme/küçültme ve eğme işlemleri.


div:hover {
  transform: scale(1.1) rotate(5deg);
}
                    

17. Animation

Keyframes ile özel animasyonlar oluşturulur.


@keyframes hareket {
  from { left: 0; }
  to { left: 200px; }
}

div {
  animation: hareket 2s infinite;
}
                    

18. Opacity (Saydamlık)

Bir elementin şeffaflık seviyesini belirler (0 ile 1 arası).


div {
  opacity: 0.5; /* %50 görünürlük */
}
                    

19. Z-Index

Elemanların üst üste binme sırasını belirler.


.onde {
  z-index: 10; /* Daha üstte */
  position: relative;
}
                    

20. Overflow

Taşan içeriğin nasıl görüneceğini belirler.

visible: Taşar ve görünür.

hidden: Taşanı gizler.

scroll: Kaydırma çubuğu ekler.


div {
  height: 100px;
  overflow: auto;
}
                        

JavaScript (Etkileşim)

Web sayfasına dinamiklik ve işlevsellik katar.


// Etkileşim Örneği
const buton = document.querySelector('.btn-test');

buton.addEventListener('click', () => {
    alert('Harika bir seçim!');
    document.body.classList.toggle('dark-mode');
});
                            

Önizleme

Modern Araçlar

VS Code

En popüler kod editörü.

Figma

Arayüz tasarım aracı.

DevTools

Tarayıcı hata ayıklama konsolu.

Popüler Kütüphaneler

⚛️ React
💚 Vue.js
🅰️ Angular

Web'in Geleceği

  • Yapay Zeka (AI): Otomatik kodlama ve tasarım.
  • Web 3.0: Merkeziyetsiz web deneyimi.
  • PWA: Uygulama benzeri web siteleri.

Hosting & Domain

🏠 Hosting (Ev)

Web sitenizin dosyalarının barındırıldığı 7/24 açık bilgisayardır.

📍 Domain (Adres)

İnsanların sitenize ulaşmak için yazdığı isimdir. (google.com)

🔗 İlişki

Domain adresiniz, dosyalarınızın bulunduğu Hosting sunucusuna yönlendirir.

Oyun 3: Teknoloji Hafıza Kartları

Nasıl Oynanır: Kartlara tıklayarak ters çevirin ve eşleşen logoları bulun.

Nasıl Web Sitesi Açılır?

  1. Domain Sorgula: Müsait bir isim bul.
  2. Plan Seç: Hosting paketini belirle.
  3. Satın Al: Firmadan (GoDaddy, Hosting.com.tr vb.) kirala.
  4. Bağla: Domain'i Hosting'e yönlendir (DNS).
🌐 GoDaddy
🏢 Metunic
☁️ Cloudflare

İnternetin Mutfağı: IP ve DNS

IP Adresi (Kimlik)

192.168.1.1 gibi numaralardır. İnternete bağlı her cihazın benzersiz bir IP'si vardır.

DNS (Rehber)

Siz 'google.com' yazdığınızda, DNS bunu '142.250.1.1' gibi bir IP adresine çevirir. İsimleri IP'lere bağlayan telefon rehberidir.

Bilgi Yarışması

Soru: 1 / 20

Özet: Neler Öğrendik?

🛠️ Temel Yapı

HTML ile iskelet, CSS ile stil, JS ile etkileşim.

🎨 Tasarım ve Düzen

Box Model, Flexbox ve Grid ile modern yerleşimler.

📱 Uyumluluk

Responsive Tasarım ile her ekrana uygun görünüm.

🚀 Yayına Alma

Hosting, Domain ve DNS kavramları.

"Web tasarımı sadece kod değil, bir problem çözme sanatıdır."

Teşekkürler

Sorularınız?

Zonguldak Bülent Ecevit Üniversitesi | Öğr.Gör.Tahsin ÇİLOĞLU

1 / 20