Liquid Glass
Katmanlı cam yüzeyler, renkli zemin, ışığın malzemeden geçmesi. Ama bu bir kriz masası: aciliyet asla yumuşatılmaz, kontrast asla pazarlık konusu değildir. Aşağıdaki her bileşenin altında kullanılacak sınıf adı yazılıdır.
Least touch — bileşen seçerken uyulacak kurallar
Afet anında her fazladan tıklama gecikmedir. Sistem bunu zorlar: birincil buton görsel olarak
tek başına baskındır, sessiz buton geri çekilir. Bir ekranda iki gl-btn--birincil
görüyorsan tasarım yanlıştır.
- Ekran başına tek birincil aksiyon; gerisi
gl-btn--sessiz. - Geri alınabilir işlemi doğrudan yap, sonra "geri al" sun.
- Liste satırının tamamını tıklanabilir yap (
gl-liste__satir+gl-kart--etkilesimli), satır sonundaki ikona mecbur bırakma. - Boş durumun içine aksiyonu koy (
gl-bos+ buton). - Seçilebilecek şeyi
gl-secimyap, yazdırma. - Filtreyi
onchangeile uygula; ayrı "Uygula" butonu koyma. - Bilgiyi tek ekranda topla — yan panel > ikinci sayfa.
- "Emin misiniz?" modalı — yalnız geri alınamaz işlemde (
gl-btn--tehlike). - Çok adımlı sihirbaz; alanları tek forma sığdır.
- Aynı veriyi 3 sekmeye bölmek.
gl-sekmeleren fazla 2-3 görünüm içindir. - Zorunlu olmayan alan. Sormadan çıkarabiliyorsan çıkar.
- Hover ile ortaya çıkan aksiyon — dokunmatikte yok hükmünde.
- Başarı bildirimi için modal;
gl-uyari--basariyeter.
Renk token'ları
Hiçbir yerde ham hex yazma. Her renk bir CSS değişkeni; koyu/açık temada otomatik yer değiştirir. Aciliyet renkleri anlam taşır, dekorasyon için kullanma.
Aciliyet ölçeği
Marka, nötr ve metin
Zemin (mesh)
Cam ancak arkasında renk varsa cam görünür. Zemin body::before ile sabittir,
hareketsizdir, tıklanamaz. Kaldırma — kaldırırsan sistem "gri üstüne blur"a düşer.
Tipografi
Sistem fontu: -apple-system, BlinkMacSystemFont, "Segoe UI", Inter.
Dış font indirilmez — kriz anında ağ zaten dardır.
Cam yüzeyler ve yükseklik
Üç yükseklik seviyesi. Yükseldikçe opaklık, bulanıklık ve gölge artar.
Üstteki ince ışık çizgisi (specular) camı "kalın" gösteren şeydir — ::before ile otomatik gelir.
Dördüncü bir seviye uydurma; üç seviye derinlik hiyerarşisi için yeterlidir.
Liste kutusu, iç bölme, sessiz kapsayıcı. blur 14px.
.gl-kart .gl-y1Varsayılan kart / panel. blur 26px. Ekranların %80'i bu.
.gl-kart .gl-y2Öne çıkan blok, yan panel, modal. blur 40px.
.gl-kart .gl-y3Üzerine gel: 2px yükselir, parlar. Least touch — kartın tamamı hedef.
.gl-kart .gl-y2 .gl-kart--etkilesimliHarita üstü, uzun metin, tablo. Saydamlık düşer, okunurluk kazanır.
.gl-kart .gl-yogunKartlardan büyük kapsayıcı: 24px yarıçap, 24px iç boşluk. İçindeki kartlar 20px yarıçap — iç içe köşelerde optik uyum kuralı: dış yarıçap = iç yarıçap + iç boşluk.
.gl-panel .gl-y1Butonlar
Birincil ve tehlike doludur, cam değildir: ana eylem tereddütsüz okunmalı. İkincil ve sessiz camdır, geri çekilir. Ekran başına tek birincil.
Sekmeler
Aciliyet ölçeği
Kural: aciliyet arttıkça saydamlık AZALIR. Kritik kart yarı saydam değildir — kenarı kalınlaşır, rengi doygunlaşır, arkasına yoğunluk katmanı gelir. Cam efekti alarmı yumuşatamaz.
Rozetler
Aciliyet kartları
.gl-nabiz yalnız kritikte ve ekranda tek bir öğede kullanılır.
Üç şey birden yanıp sönerse hiçbiri fark edilmez.
Güven skoru göstergesi
Eşikler: ≥75 yüksek (yeşil) · 50-74 orta (sarı) · <50 düşük (kırmızı).
Yüzde değeri her zaman yazıyla da yazılır — renk tek başına bilgi taşımaz (renk körlüğü).
Değer style="--gl-guven-deger:82" ile verilir.
İlerleme çubuğu
Sayaç / istatistik bloğu
Yoğun veri — liste ve tablo
Cam üstünde uzun liste okunaklı kalmalı. Tablo başlığı yapışkandır ve yoğunluk katmanı taşır; satırlar hover'da opaklaşır. Liste satırının tamamı tıklama hedefidir.
Form alanları
Least touch: alan sayısını en aza indir, seçilebileni yazdırma,
filtreyi onchange ile uygula. Her alan .gl-alan ile sarılır.
Uyarı kutuları ve boş durum
Boş durum bir çıkmaz sokak değildir: içinde her zaman doğrudan bir aksiyon bulunur.
Modal / katman
Modal istisnadır. Yalnız geri alınamaz işlemler ve odak gerektiren tek adımlık girdi için. Bilgi göstermek için modal açma — yan panel ya da genişleyen kart kullan. Aşağıdaki örnek gerçek görünümüyle, örtü içinde gömülü gösteriliyor.
Ekip kuralları
{% extends "base.html" %}zorunlu.- Sayfa adı:
{% block baslik %} - Gövde:
{% block icerik %}— kabuk zaten.gl-kapsağlar, ikinci bir kapsayıcı ekleme. - Sayfaya özel CSS:
{% block bas %} - Sayfaya özel JS:
{% block betik %}(gövdenin sonunda çalışır)
- Yeni ekranlarda Tailwind sınıfı kullanma — yalnız
gl-*. - Ham hex renk yazma; token kullan. Yeni renk gerekiyorsa tasarım sistemine token ekle.
backdrop-filter'ı elle yazma;.gl-y1/2/3kullan. İç içe 3'ten fazla cam katman performansı yakar.- Aciliyet renklerini dekorasyon için kullanma. Kırmızı = alarm, başka bir şey değil.
- Harita/tablo gibi yoğun içerik
.gl-yogunüstünde durur. - Yeni CDN / JS kütüphanesi ekleme.
glass.css içindeki "köprü katmanı" (bölüm 23)
Tailwind sınıflarını glass token'larına bağlar, böylece o ekranlar tek satır değişmeden yeni malzemeyi devraldı.
Bu köprü geçicidir: bir ekran gl-*'a taşındığında o ekranın Tailwind sınıfları silinmelidir.