Kategoriler: Genel

CSS ile Erişilebilir Formlar Yapmak – I

Kullanıcı ile irtibatımızı sağlayan, sayfalarımıza interaktiflik kazandıran html elementleridir formlar. Bu makalede hep beraber Formların nasıl CSS ile tablo kullanılmadan oluşturulduğunu göreceğiz.
CSS ile daha erişilebilir ve esnek yapılı form kodlamayı iki kısma ayırabiliriz. Formların etiketlerinin yerlerini planlamak(konumlandırmak) ve form elementlerini güzelleştirerek daha göze hoş gelen ve işlevsel bir hala getirmek.

Makalemizin başlığını “CSS ile Erişilebilir Formlar Yapmak” koyduk peki bu Erişilebilirlik(Accessible) nedir? Erişilebilirlik kullanıcının bir çok araç(bilgisayar, cep telefonu, pda vb.) ve durumda sayfa ve öğelerine en kolay ve düzgün bir şekilde erişebilmesidir. Web standartlarına uygun kodlamanın en önemli amaçlarından biridir Erişilebilirlik.
Basit Form yapılarının CSS ile kodlamak

Basit bir form yapısını planlayarak başlayalım. Web sitelerinde en çok kullanılan formlar kullanıcı giriş formlarıdır. Beraberce CSS ile planlanmış bir kullanıcı girişi formu yapalım. Xhtml kodunu yazalım.

  1. <form action=”/gonder/login” id=”kullaniciGiris” method=”post”>
  2. <dl>
  3. <dt><label for=”ad”>Kullanıcı Adı :</label></dt>
  4. <dd><input type=”text” id”ad” name=”ad” /></dd>
  5. <dt><label for=”eposta”>Eposta:</label></dt>
  6. <dd><input type=”text” id=”eposta” name=”eposta” /></dd>
  7. <dt><label for=”hatirla”>Beni hatırla</label></dt>
  8. <dd><input type=”checkbox” id=”hatirla” name=”hatirla” /></dd>
  9. <dt><input type=”submit” value=”Gönder” /></dt>
  10. </dl>
  11. </form>

Bu tip küçük form sayfalarında tanım listelerinin(dl, dd ve dt) kullanılması düzen ve kullanım kolaylığı açısından çok önemlidir. <label> etiketinin kullanılması iki açıdan önemlidir. İlki küçük ekranlı araçlarda(cep telefonu,pda vb.) form elementlerinin kullanımını kolaylaştırır label/ID ilişkisi ile. İkinci olarak radyo buton ve işaret kutularında metin ile tümleşik hareket etmemizi sağlar, yani Beni hatırla metnine tıkladığımızda işret kutusu işlevi gösterir.

Şimdi CSS ile form elemanlarını yerlerine koyalım.

Bu formu tablo ile yaptığımız gibi yanyana koymak için genişlik ve float tanımı yapıyoruz.

  1. form dt
  2. {
  3. width: 8em;
  4. float: left;
  5. text-align: right;
  6. margin-right: 0.5em;
  7. display: block;
  8. }

Sağdaki form elemanları ile soldakiler arasına boşluk bırakmak için genişlik değeri veriyoruz.

  1. form dd {
  2. margin-left: 4.5em;
  3. }

Bir çok sitede kullanılan kullanıcı giriş(login) formlarını CSS yardımı ile kodladık. Şimdi görünüşünü düzeltelim.

Metinlerimizi font tanımı yapalım:

  1. form dt {
  2. width: 8em;
  3. float: left;
  4. text-align: right;
  5. margin-right: 0.5em;
  6. display: block;
  7. font:12px Arial, Helvetica, sans-serif;
  8. }

Metin giriş alanlarını standart görünümünden çıkarıp kendi istediğimiz renklere büründürelim.

  1. <dd><input name=”ad” type=”text” class=”metinAlani” id”ad” /></dd>
  2. input.metinAlani
  3. {
  4. color: #781351;
  5. background-color: #b5c9e2;
  6. border: 1px solid #31557f;
  7. font:10px Arial, Helvetica, sans-serif;
  8. }

Gönder düğmesinin şeklini değiştirelim. Burada renk uyumu form alanlarımızın daha hoş görünmesi için önemlidir. Renk seçimi yaparken genelde site bütünlüğünü bozmamak için site genel renk değerleri seçilir. Ama bu bir kural değildir.

  1. <dt><input type=”submit” class=”gonder” value=”Gönder” /></dt>
  2. input.gonder
  3. {
  4. color: #224059;
  5. background-color: #b5c9e2;
  6. border-top: 2px #cce3ff solid;
  7. border-left: 2px #cce3ff solid;
  8. border-bottom: 2px #31557f solid;
  9. border-right: 2px #31557f solid;
  10. font:bold 12px Arial, Helvetica, sans-serif;
  11. }

Yukarıda gönder düğmesinin kenarlık renk seçimini yaparken sağ ve alt kısma daha koyu, sol ve üst kısma daha açık renk vererek düğmemize 3 boyutlu bir görünüm kazandırdık.

Şimdide form alanını bir bütün haline getirelim ve forma bir başlık yazalım. Bu işlemler için Html’in <fieldset> ve <legend> etiketlerini kullanacağız.

  1. <form action=”/gonder/login” id=”kullaniciGiris” method=”post”>
  2. <fieldset>
  3. <legend>Kullanıcı Girişi</legend>
  4. <dl>
  5. <dt><label for=”ad”>Kullanıcı Adı:</label></dt>
  6. <dd><input name=”ad” type=”text” class=”metinAlani” id”ad” /></dd>
  7. <dt><label for=”eposta”>Eposta:</label></dt>
  8. <dd><input name=”eposta” type=”text” class=”metinAlani” id=”eposta” /></dd>
  9. <dt><label for=”hatirla”>Beni hatırla</label></dt>
  10. <dd><input type=”checkbox” id=”hatirla” name=”hatirla” /></dd>
  11. <dt><input type=”submit” class=”gonder” value=”Gönder” /></dt>
  12. </dl>
  13. </fieldset>
  14. </form>

CSS ile yeni eklediğimiz alanların görünümünü düzeltelim.

  1. fieldset
  2. {
  3. border: 1px solid #31557f;
  4. width: 15em
  5. padding-bottom:0.5em;
  6. }
  7. legend
  8. {
  9. color: #224059;
  10. background-color: #b5c9e2;
  11. border: 1px solid #31557f;
  12. padding: 2px 6px
  13. }

Formumuzun son hali yukarıda göründüğü gibi olacaktır. Bir sonraki makalede daha karışık(gelişmiş) formların css ile yapılmasını göreceğiz.

Bul-Tikla

Son Yazılar

Türkiye’de Posta Reformlarının Gelişimi ve Dönemsel Analizi

Türkiye’de posta hizmetlerinin kamu vesilesiyle vatandaşlara sunulma yolculuğu, 1840 senesinde “Posta Nezareti”nin kurulmasıyla başladı. O…

3 gün ago

Bütünleşik Afet Yönetimi Bağlamında Büyükşehir Belediyelerinin 2025-2029 Stratejik Planlarının AnaliziAkademik Kaynak

Afetlerin küresel ve mahalli ölçekte artan yıkıcı tesirleri, kentlerin bu tür krizlere karşı daha dirençli…

3 gün ago

2025-2026 10. Sınıf Türk Dili ve Edebiyatı 2.Dönem 2.Ortak Yazılı Sınavı

10-TDE-2.Dönem 2.Ortak Yazılı Ulusal Eğitim Bakanlığı (MEB) tarafınca 2024-2025 eğitim-öğretim senesinde yürürlüğe konulmuş olan Türkiye…

4 gün ago

2025-2026 11. Sınıf Türk Dili ve Edebiyatı 2.Dönem 2.Ortak Yazılı Sınavı

2025-2026 11-TDE-2.Dönem 2.Yazılı Imtihanı SORULAR SORU – KAZANIM EŞLEŞTİRMESİ – SENARYO 1 Sual Birim Mevzu…

4 gün ago

2025-2026 12. Sınıf Türk Dili ve Edebiyatı 2.Dönem 2.Yazılı Sınavı

2025-2026 11-TDE-2.Dönem 2.Yazılı Imtihanı SORULAR Izahat:Sorular açık uçlu ve kısa cevaplıdır. Cevaplarınızı yazım ve noktalama…

5 gün ago

Liseler Arası Öğrenci Nakil Kılavuzu

Liseler Arası Talebe Nakil Kılavuzu Bu kılavuz, Millî Eğitim Bakanlığı Ortaöğretim Kurumları Yönetmeliği ile Millî…

1 hafta ago