CSS Form Üreticisi
Formlar, çoğu web sitesinde en çok etkileşime girilen ancak birçok sitede en az özenle tasarlanan bölümdür. Bu üretici, tutarlı bir görsel tarza sahip, tamamen stillendirilmiş bir formun CSS’ini üretir: duyarlı bir form ızgarası, etiket + giriş kutusu çiftleri, metin alanları, seçim kutuları ve belirgin odak durumları. Vurgu rengini, köşe yarıçapını ve boşluğu ayarlayın, ardından stil sayfasını kopyalayın. CSS, yerel form semantiğini koruduğu için doğrulama, klavye kullanımı ve ekran okuyucular sorunsuz çalışır.
Üretici nasıl kullanılır
-
1
Vurgu rengini ayarlayın
Vurgu rengi, her alanın odak halkasını ve kenarlık rengini belirler.
-
2
Köşe yarıçapını seçin
Yarıçap; giriş kutuları, metin alanları ve seçim kutuları için geçerlidir, böylece hepsi aynı şekli paylaşır.
-
3
Boşluğu ayarlayın
Boşluk, form ızgarasındaki alanlar arasındaki dikey aralığı kontrol eder.
-
4
CSS'i kopyalayın
HTML'inize dokunmadan yapıştırıp uyarlayabileceğiniz eksiksiz bir stil sayfası.
Temel form
<form class="form">
<label class="field">
<span class="field-label">Email</span>
<input type="email" required>
<span class="field-error">Please enter a valid email.</span>
</label>
<label class="field">
<span class="field-label">Password</span>
<input type="password" minlength="8" required>
</label>
<button type="submit" class="button">Sign up</button>
</form>
.field {
display: block;
margin-bottom: 1.25rem;
}
.field-label {
display: block;
font-weight: 500;
margin-bottom: .25rem;
}
.field input {
width: 100%;
padding: .5rem .75rem;
font: inherit;
border: 1px solid #d1d5db;
border-radius: 6px;
background: #fff;
transition: border-color 120ms, box-shadow 120ms;
}
.field input:focus-visible {
outline: none;
border-color: #2563eb;
box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15);
}
.field input:invalid:not(:placeholder-shown) {
border-color: #dc2626;
}
.field-error { display: none; color: #dc2626; font-size: .875rem; margin-top: .25rem; }
.field input:invalid:not(:placeholder-shown) ~ .field-error { display: block; }
Dört yaygın stil
| Stil | Nedir | En uygun olduğu yer |
|---|---|---|
| Çerçeveli | Giriş alanının çevresinde kenarlık, şeffaf arka plan | Masaüstü formları, yoğun düzenler |
| Alt çizgili | Sadece alt kenarlık | Minimal / editoryal arayüz |
| Dolgulu | Gri arka plan, kenarlık yok | Material Design’dan ilham alan arayüz |
| Yüzen etiket | Etiket içte yer alır, odaklanınca veya değer girilince yukarı doğru animasyonla çıkar | Mobil öncelikli, açılış sayfaları |
Yüzen etiket en şık görünendir, ancak boş durumu algılamak için ek işaretleme veya JavaScript gerektirir. Çerçeveli stil ise en evrensel olanıdır.
Erişilebilirlik Kontrol Listesi
- Her giriş alanı için görünür bir etiket. Yer tutucuyu (placeholder) tek etiket olarak kullanmayın; odaklanınca kaybolur ve kontrast açısından yetersizdir.
<label for>veya sarmalayan<label>. İkisi de geçerlidir; sarmalayan biçim biraz daha kolaydır.- Odak göstergesi: Bir alternatif koymadan asla
outline: nonekullanmayın. Klavye kullanıcıları için gereklidir. - Hata mesajları: bunları giriş alanındaki
aria-describedbyaracılığıyla bağlayın. Hataları yalnızca renkle belirtmeyin; bir metin mesajı veya simge ekleyin. - Zorunlu alanlar:
requiredözniteliğini kullanın. Gören kullanıcılar için etikete görsel bir işaret (yıldız) ekleyin. - Giriş türleri:
type="email",type="tel",type="url",type="number"kullanın; mobil klavyeler buna uyum sağlar. autocompleteöznitelikleri:autocomplete="email",autocomplete="current-password"vb. Kullanıcıların yazma süresini önemli ölçüde azaltır.
Yerel (native) doğrulama durumları
CSS, form geçerliliği için sözde sınıflar (pseudo-class) sunar:
:required/:optional:valid/:invalid:in-range/:out-of-range(en az ve en fazla değerleri içeren sayısal girdiler için):placeholder-shown(boş; yer tutucu görünür):user-invalid( geçersiz ve kullanıcı etkileşimde bulunmuştur, hata stilleri için doğru değer )
:user-invalid sözde sınıfı, hataları yalnızca kullanıcı bir işlem yaptıktan sonra göstermenin en temiz yoludur ve etkileşim öncesinde kırmızı kenarlıkların çıkmasını önler. Bu destek yaklaşık 2023 yılında tüm başlıca tarayıcılara geldi.
Devre dışı durum
.field input:disabled {
background: #f3f4f6;
color: #9ca3af;
cursor: not-allowed;
}
Devre dışı bırakılmış giriş alanları odaklanamaz ve gönderilemez. Ekran okuyucular için bunları odaklanabilir tutmak istiyorsanız readonly kullanın; form değeri gönderir ancak kullanıcı onu düzenleyemez.
Sık Sorulan Sorular
Hayır. Yer tutucular kullanıcı yazmaya başladığı anda kaybolur; bu nedenle etiket olarak kullanılamazlar. Ayrıca yer tutucu metni genellikle düşük kontrastlıdır ve WCAG standartlarını karşılamaz. Biçim ipuçları için görünür bir etiketi isteğe bağlı bir yer tutucuyla birlikte kullanın.
Çünkü :invalid, boş zorunlu alanlara hemen uygulanır. :user-invalid (etkileşime duyarlı) kullanın veya eski tarayıcılarda geçici çözüm olarak :invalid:not(:placeholder-shown) ile birleştirin.
appearance: none ayarlayın, varsayılan oku kaldırın ve kendi okunuzu bir arka plan görüntüsüyle ya da sözde öğe (pseudo-element) oku olan bir sarmalayıcı span aracılığıyla ekleyin. İçindeki seçenek listeleri işletim sistemi stilinde kalır ve CSS ile özelleştirilemez.
Her ikisi de geçerlidir. HTML doğrulaması (required, type, pattern), JavaScript kullanılmayan basit durumları ele alır. Karmaşık kurallar ise JavaScript tarafından işlenir (şifre güvenliği, alanlar arası bağımlılıklar). Her zaman sunucu düzeyinde doğrulama yapılmalıdır; çünkü istemci tarafındaki doğrulama güvenlik açısından değil, kullanıcı deneyimi açısından önemlidir.
İlgili Araçlar
ASCII Tablosu Referansı
NUL, LF ve DEL dahil her kod için ondalık, onaltılık, sekizlik ve ikili değerlerle HTML sayısal karakter başvurusu gösterimini sunan tam ASCII tablosu.
HTML Karakter Referansı
HTML varlıklarının aranabilir listesi; adlandırılmış ve sayısal kodlarıyla birlikte özel karakter ve semboller için tek tıkla kopyalama.
FPS Sayacı
requestAnimationFrame ile tarayıcı FPS değerini ölçün: yumuşatma, en düşük ve en yüksek kare hızı, uyarı eşiği ve isteğe bağlı grafik. Yerel çalışır, yükleme ve API yoktur.
Klavye kısayolları başvurusu
macOS, Windows ve Linux’ta VS Code, Chrome ve GNU Readline kullanan Bash için belgelenmiş varsayılan kısayolları arayın.
EditorConfig Oluşturucu
Girinti stili ve boyutu, satır sonu, karakter kümesi ve boşluk kurallarınızla bir .editorconfig dosyası oluşturarak IDE ve editörler arasında tutarlı biçimlendirme sağlayın.
E-posta Doğrulayıcı
Bir e-posta adresini doğrulayın: RFC 5322 sözdizimi kontrolü, canlı MX kaydı sorgulama, ayrıca yerel kısım, alan adı ve uzunluk bilgileri. Hiçbir e-posta gönderilmez.
Araç diğer dillerde mevcuttur
- CSSフォームジェネレーター [JA]
- Generador de Formularios CSS [ES]
- Générateur de formulaires CSS [FR]
- Gerador de Formulário CSS [PT]
- Bộ tạo biểu mẫu CSS [VI]
- CSS-formulärgenerator [SV]
- เครื่องมือสร้างฟอร์ม CSS [TH]
- CSS 폼 생성기 [KO]
- مولد نماذج CSS [AR]
- CSS-Formular-Generator [DE]
- Pembuat Formulir CSS [ID]
- CSS-formuliergenerator [NL]
- Generator formularzy CSS [PL]
- CSS Form Generator [EN]
- Generatore di Moduli CSS [IT]
- Генератор форм CSS [RU]
- CSS表单生成器 [ZH]