فرم‌ها در CSS

css forms guide
20 آبان 1403

در دنیای وب، فرم‌ها یکی از اصلی‌ترین راه‌های تعامل کاربر با سایت‌ها و برنامه‌ها هستند. وقتی کاربر اطلاعاتش را در یک فرم وارد می‌کند، ما می‌خواهیم مطمئن باشیم که فرم، هم از نظر زیبایی‌شناسی و هم از نظر کاربردی به خوبی طراحی شده است. در اینجا CSS به کمک ما می‌آید تا فرم‌های جذاب و کاربردی ایجاد کنیم.

استفاده از CSS برای استایل‌دهی به فرم‌ها به ما امکان می‌دهد تا عناصر مختلف فرم را به صورت دلخواه طراحی کنیم. از رنگ‌ها و فونت‌ها گرفته تا فاصله‌ها و لبه‌های گرد، همه چیز در اختیار ماست. به علاوه، می‌توانیم فرم‌ها را به گونه‌ای استایل دهیم که با طراحی کلی سایت هماهنگ باشد.

در طراحی فرم‌ها، توجه به واکنش‌گرایی یا همان ریسپانسیو بودن از اهمیت بالایی برخوردار است. فرم‌ها باید در دستگاه‌های مختلف از جمله موبایل‌ها و تبلت‌ها به خوبی نمایش داده شوند. این کار با استفاده از ویژگی‌های CSS مانند Media Queries قابل انجام است.

استفاده از تکنیک‌هایی مانند طراح گرید یا Flexbox می‌تواند به ما در چیدمان عناصر فرم‌ها کمک شایانی کند. به کمک این تکنیک‌ها، می‌توانیم اطمینان حاصل کنیم که فرم‌ها نه تنها زیبا بلکه کاربردی و ساده برای استفاده هستند.

در زیر یک نمونه کد برای فرم ارائه می‌شود که از CSS برای استایل‌دهی استفاده کرده است:


<style>
  .form-container {
    display: flex;
    flex-direction: column;
    width: 300px;
    margin: auto;
    padding: 20px;
    border: 1px solid #ccc;
    border-radius: 10px;
    box-shadow: 2px 2px 12px rgba(0, 0, 0, 0.1);
  }
  .form-field {
    margin-bottom: 15px;
  }
  .form-field label {
    margin-bottom: 5px;
    font-weight: bold;
  }
  .form-field input {
    width: 100%;
    padding: 8px;
    box-sizing: border-box;
    border: 1px solid #ccc;
    border-radius: 5px;
  }
</style>
<form class="form-container">
  <div class="form-field">
    <label for="name">Name:</label>
    <input id="name" type="text" name="name">
  </div>
  <div class="form-field">
    <label for="email">Email:</label>
    <input id="email" type="email" name="email">
  </div>
  <button type="submit">Submit</button>
</form>

کد بالا به ما یک فرم ساده با استایل زیبا و کاربردی می‌دهد. هر کدام از عناصر فرم در یک div قرار گرفته‌اند و label ها برچسب مناسبی برای input ها فراهم می‌کنند.
ویژگی display: flex; در CSS به ما کمک می‌کند تا چیدمان فرم را به صورت عمودی سازماندهی کنیم.
استفاده از box-shadow و border-radius فرم را زیباتر و مدرن‌تر می‌کند.
ویژگی box-sizing: border-box; تضمین می‌کند که padding و border در مجموع اندازه کلی عنصر محاسبه شوند.

سوالات متداول

؟

چطور می‌توان فرم‌ها را با CSS زیباتر کرد؟

؟

چگونه فرم‌ها را ریسپانسیو طراحی کنیم؟

؟

چرا باید از ویژگی box-sizing: border-box; استفاده کنیم؟