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
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.
Dosya Boyutu Dönüştürücü
Bayt, KB, MB, GB, TB ve ikili IEC birimleri (KiB, MiB, GiB, TiB) arasında, ondalık ve ikiliyi dilediğiniz gibi birleştirerek dönüşüm yapın.
Webpack Yapılandırma Oluşturucu
Kısa bir formdan webpack 5 için bir webpack.config.js oluşturun: entry, çıkış klasörü ve modu ayarlayın; ardından TypeScript, Babel, bir CSS yükleyici, HtmlWebpackPlugin ve bir dev sunucu açın.
Telefon numarası doğrulayıcı
Telefon numarasının ülkeye göre yapısını denetleyin; bölge, tür, E.164, uluslararası, ulusal ve RFC 3966 biçimlerini görün.
Kurgusal telefon numarası oluşturucu
Beş ülkede resmen ayrılmış aralıklardan 50 adede kadar kurgusal numara üretin.
Rastgele adres oluşturucu
Arayüz maketleri ve testler için üç basitleştirilmiş biçimde 1–20 adres benzeri kayıt oluşturun.
Araç diğer dillerde mevcuttur
- CSS-formuliergenerator [NL]
- Generador de Formularios CSS [ES]
- เครื่องมือสร้างฟอร์ม CSS [TH]
- مولد نماذج CSS [AR]
- Gerador de Formulário CSS [PT]
- CSSフォームジェネレーター [JA]
- CSS 폼 생성기 [KO]
- Generator formularzy CSS [PL]
- CSS-formulärgenerator [SV]
- CSS-Formular-Generator [DE]
- Bộ tạo biểu mẫu CSS [VI]
- Pembuat Formulir CSS [ID]
- Générateur de formulaires CSS [FR]
- Generatore di Moduli CSS [IT]
- Генератор форм CSS [RU]
- CSS表单生成器 [ZH]
- CSS Form Generator [EN]