📘

Semantic UI

İnsanlar için tasarlanmış, doğal dil prensiplerine dayalı sezgisel ve çok özellikli CSS çerçevesi.

📅 2013
👤 Jack Lukic
📦 2.5.0
📄 MIT

Temel Özellikler

📝

Doğal Dil (Natural Language)

İnsan tarafından okunabilir, sezgisel sınıf isimleri (örn. 'ui red button').

🎨

Tema Sistemi

Güçlü değişken sistemi ile kolay ve kapsamlı tema özelleştirmeleri.

🧩

Zengin Bileşenler

50'den fazla kullanıma hazır, modern ve şık UI bileşeni.

⚡

jQuery Tabanlı

jQuery işlevselliğini genişleterek interaktif ve kullanışlı bileşenler sunar.

📱

Duyarlı (Responsive)

Farklı ekran boyutlarına uyum sağlayan yerleşik ızgara sistemi ve duyarlı araçlar.

🧠

Sezgisel API

Öğrenmesi, anlaması ve entegre etmesi son derece kolay yapı.

Avantajlar ve Dezavantajlar

✅ Avantajlar

  • En okunaklı ve akılda kalıcı sınıf isimlendirme yapısı
  • Çok şık ve modern varsayılan (default) tema
  • Kapsamlı ve zengin bileşen yelpazesi
  • Çok iyi bir tema yapılandırma sistemi
  • Birçok hazır interaktif UI elementi barındırması

❌ Dezavantajlar

  • Eski jQuery bağımlılığı zorunluluğu
  • Aktif geliştirmesinin büyük oranda durmuş olması
  • Nispeten büyük JavaScript ve CSS dosya boyutu
  • Modern araçlar ve frameworklerle (React, Vue) kullanımının zorluğu
  • Daha güncel olan Fomantic-UI çatalının (fork) gerisinde kalması

İnteraktif Demolar

1. Butonlar ve Kartlar (Buttons & Cards)

Semantic UI'ın doğal dil sınıf isimlendirmeleri ile oluşturulmuş çeşitli buton ve kart bileşenleri.

Butonlar

Sonraki
Duraklat
Profil Resmi
Ahmet Yılmaz
Yazılım Geliştirici
Ahmet Ankara'da yaşayan deneyimli bir yazılımcıdır.
Katılma: 2021 75 Arkadaş
Profil
Ayşe Demir
Tasarımcı
Ayşe yeni bir proje üzerinde çalışmak istiyor.
Kabul Et
Reddet
<!-- Butonlar -->
<button class="ui button">Standart Buton</button>
<button class="ui primary button">Birincil (Primary)</button>

<div class="ui animated button" tabindex="0">
  <div class="visible content">Sonraki</div>
  <div class="hidden content">
    <i class="right arrow icon"></i>
  </div>
</div>

<!-- Kartlar -->
<div class="ui cards">
  <div class="card">
    <div class="image">
      <img src="resim.jpg">
    </div>
    <div class="content">
      <div class="header">Ahmet Yılmaz</div>
      <div class="meta"><span>Yazılım Geliştirici</span></div>
      <div class="description">Ahmet bir yazılımcıdır.</div>
    </div>
  </div>
</div>

2. Modal ve Arka Plan Karartma (Modal & Dimmer)

Buton tıklamasıyla tetiklenen ve arka planı karartan şık iletişim (modal) kutuları.

<button class="ui primary button" id="btn-show-modal">Modalı Aç</button>

<div class="ui modal" id="demo-modal">
  <i class="close icon"></i>
  <div class="header">Başlık Alanı</div>
  <div class="content">İçerik açıklaması burada yer alır.</div>
  <div class="actions">
    <div class="ui black deny button">Vazgeç</div>
    <div class="ui positive button">Onayla</div>
  </div>
</div>

<script>
  // Modalı göstermek için jQuery kullanılır
  $('#btn-show-modal').on('click', function() {
    $('#demo-modal').modal('show');
  });
</script>

3. Açılır Menü ve Arama (Dropdown & Search)

Arama özellikli seçim kutuları ve çoklu seçime (multiple selection) izin veren interaktif bileşenler.

<!-- Arama Özellikli Dropdown -->
<div class="ui fluid search selection dropdown">
  <input type="hidden" name="country">
  <i class="dropdown icon"></i>
  <div class="default text">Ülke Seçiniz...</div>
  <div class="menu">
    <div class="item" data-value="tr"><i class="tr flag"></i>Türkiye</div>
    <div class="item" data-value="us"><i class="us flag"></i>ABD</div>
  </div>
</div>

<!-- Çoklu Seçim (Multiple) Dropdown -->
<select name="skills" multiple="" class="ui fluid dropdown">
  <option value="">Yetenek Seçiniz</option>
  <option value="html">HTML</option>
  <option value="css">CSS</option>
  <option value="js">JavaScript</option>
</select>

<script>
  // Semantic UI Dropdown bileşenlerini başlatma
  $('.ui.dropdown').dropdown();
</script>

4. Form ve Doğrulama (Form & Validation)

Semantic UI'ın dahili form doğrulama (validation) sistemi, odaklanma (blur) ve başarılı mesaj gösterimi.

Kayıt Bilgileri Formu

Kayıt Ol
Kayıt Başarılı!

Form başarıyla doğrulandı ve verileriniz gönderildi.

$('.ui.form').form({
  inline: true,
  on: 'blur', // İnput'tan çıkıldığında anında doğrulama
  fields: {
    'first-name': {
      identifier: 'first-name',
      rules: [
        { type: 'empty', prompt: 'Lütfen adınızı giriniz' }
      ]
    },
    'email': {
      identifier: 'email',
      rules: [
        { type: 'empty', prompt: 'Lütfen bir e-posta adresi giriniz' },
        { type: 'email', prompt: 'Lütfen geçerli bir e-posta giriniz' }
      ]
    },
    'terms': {
      identifier: 'terms',
      rules: [
        { type: 'checked', prompt: 'Kuralları kabul etmelisiniz' }
      ]
    }
  },
  onSuccess: function(event) {
    event.preventDefault(); // Sayfa yenilenmesini engeller
    $(this).addClass('success');
  }
});

// Checkbox başlatma
$('.ui.checkbox').checkbox();

Yaygın Kullanım Senaryoları