آموزش طراحی و استایل‌دهی فرم‌ها با CSS: ایجاد فرم‌های کاربرپسند و واکنش‌گرا

دسته : آموزش رایگان CSS

آموزش طراحی و استایل‌دهی فرم‌ها با CSS: ایجاد فرم‌های کاربرپسند و واکنش‌گرا

آموزش طراحی و استایل‌دهی فرم‌ها با CSS: ایجاد فرم‌های کاربرپسند و واکنش‌گرا

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

 

ساختار پایه‌ای یک فرم در HTML

فرم‌ها از عناصر مختلفی مانند فیلدهای ورودی (input)، برچسب‌ها (label)، دکمه‌ها (button) و پیام‌های راهنما تشکیل می‌شوند. ابتدا یک فرم پایه‌ای در HTML ایجاد می‌کنیم:



< form action="#" method="post" >
  < label for="name" > نام: < / label >
  < input type="text" id="name" name="name" required >

  < label for="email" > ایمیل: < / label >
  < input type="email" id="email" name="email" required >

  < label for="message" > پیام: < / label >
  < textarea id="message" name="message" rows="4" required > < / textarea >

  < button type="submit" > ارسال < / button >
< / form >

 

در اینجا:

  • از label برای تعریف برچسب‌های فرم استفاده شده است.

  • فیلدهای ورودی از نوع متن، ایمیل و متن چندخطی (textarea) هستند.

  • دکمه submit برای ارسال اطلاعات فرم استفاده شده است.

 

استایل‌دهی کلی فرم با CSS

برای بهبود ظاهر فرم، ابتدا ویژگی‌های کلی فرم و فاصله‌های بین عناصر را تنظیم می‌کنیم.



form {
  max-width: 400px;
  margin: 0 auto;
  padding: 20px;
  border: 1px solid #ddd;
  border-radius: 8px;
  background-color: #f9f9f9;
}

label {
  font-size: 14px;
  font-weight: bold;
  display: block;
  margin-bottom: 5px;
}

input, textarea {
  width: 100%;
  padding: 10px;
  border: 1px solid #ccc;
  border-radius: 4px;
  margin-bottom: 15px;
  box-sizing: border-box;
}

 

در اینجا:

  • فرم به عرض حداکثر 400 پیکسل محدود شده و در مرکز صفحه قرار گرفته است.

  • padding و border-radius باعث ایجاد فاصله داخلی و گوشه‌های گرد برای فیلدهای ورودی می‌شوند.

  • display: block در برچسب‌ها (label) باعث می‌شود هر برچسب به طور کامل در بالای فیلد ورودی قرار گیرد.

 

استایل‌دهی فیلدهای ورودی

با استفاده از ویژگی‌های CSS، می‌توانیم ظاهر فیلدهای ورودی را جذاب‌تر کنیم.



input, textarea {
  background-color: #fff;
  color: #333;
  font-size: 16px;
  outline: none;
  transition: border-color 0.3s;
}

input:focus, textarea:focus {
  border-color: #3498db;
  box-shadow: 0 0 5px rgba(52, 152, 219, 0.3);
}

 

در اینجا:

  • outline: none حاشیه پیش‌فرض را هنگام انتخاب فیلد حذف می‌کند.

  • border-color و box-shadow در حالت :focus، به فیلد ورودی افکتی زیبا هنگام تمرکز کاربر می‌دهند.

 

استایل‌دهی دکمه ارسال

دکمه ارسال فرم یکی از مهم‌ترین بخش‌ها است و باید به گونه‌ای طراحی شود که توجه کاربر را جلب کند.



button[type="submit"] {
  background-color: #3498db;
  color: white;
  padding: 10px 20px;
  border: none;
  border-radius: 5px;
  font-size: 16px;
  cursor: pointer;
  transition: background-color 0.3s;
}

button[type="submit"]:hover {
  background-color: #2980b9;
}

 

در اینجا:

  • background-color و color رنگ پس‌زمینه و متن دکمه را مشخص می‌کنند.

  • border-radius و padding به دکمه ظاهر زیبا و متناسبی می‌دهند.

  • transition برای ایجاد افکت نرم هنگام تغییر رنگ پس‌زمینه در حالت hover استفاده شده است.

 

ایجاد فرم واکنش‌گرا با CSS

برای نمایش مناسب فرم در اندازه‌های مختلف صفحه، می‌توانید از Media Queries استفاده کنید.



@media (max-width: 600px) {
  form {
    padding: 10px;
    border-radius: 5px;
  }

  input, textarea {
    font-size: 14px;
  }

  button[type="submit"] {
    font-size: 14px;
    padding: 8px 15px;
  }
}

 

در اینجا:

  • اندازه فیلدهای ورودی و دکمه‌ها برای نمایش بهتر در صفحه‌های کوچک تغییر می‌کند.

 

افزودن پیام‌های راهنما (Placeholder) و استایل‌دهی آن‌ها

استفاده از پیام‌های راهنما (Placeholder) در فیلدهای ورودی به کاربران کمک می‌کند که متوجه نوع اطلاعات مورد نیاز شوند.



< input type="text" id="name" name="name" placeholder="نام خود را وارد کنید" required >
< input type="email" id="email" name="email" placeholder="ایمیل خود را وارد کنید" required >
< textarea id="message" name="message" rows="4" placeholder="پیام خود را بنویسید" required > < / textarea >

 

استایل‌دهی پیام‌های راهنما با CSS



input::placeholder, textarea::placeholder {
  color: #aaa;
  font-style: italic;
}

 

در اینجا، رنگ و فونت پیام‌های راهنما (Placeholder) را تغییر داده‌ایم تا تفاوت آن‌ها با متن ورودی کاربر بیشتر مشخص باشد.

 

افزودن افکت‌های تعاملی با Transition و Animation

با استفاده از ویژگی transition و animation، می‌توان به فرم ظاهری تعاملی‌تر و جذاب‌تر داد.

افکت جابه‌جایی برچسب هنگام تمرکز روی فیلد

برای افزودن افکت به برچسب‌ها (label) هنگام تمرکز کاربر بر روی فیلد ورودی، می‌توان از ویژگی‌های زیر استفاده کرد:



.form-group {
  position: relative;
}

label {
  position: absolute;
  top: 10px;
  left: 10px;
  transition: 0.2s;
  font-size: 14px;
  color: #777;
}

input:focus + label, textarea:focus + label {
  top: -15px;
  left: 5px;
  font-size: 12px;
  color: #3498db;
}

 

در اینجا:

  • برچسب به صورت پیش‌فرض درون فیلد ورودی قرار دارد و هنگام تمرکز کاربر روی فیلد، موقعیت و اندازه آن تغییر می‌کند.

 

نمایش پیام‌های خطا و موفقیت

نمایش پیام‌های خطا یا موفقیت پس از ارسال فرم، کاربر را از وضعیت ارسال فرم آگاه می‌کند.

مثال نمایش پیام‌های خطا



.error {
  color: red;
  font-size: 12px;
  margin-top: -10px;
  margin-bottom: 10px;
}

.success {
  color: green;
  font-size: 14px;
  margin-bottom: 10px;
}

 

در اینجا:

  • کلاس .error برای نمایش پیام‌های خطا و کلاس .success برای پیام‌های موفقیت طراحی شده‌اند.

 

نکات و بهترین شیوه‌ها برای طراحی فرم‌ها

  • سادگی: فرم‌ها را ساده و کاربردی طراحی کنید تا کاربر راحت‌تر اطلاعات مورد نیاز را وارد کند.

  • استفاده از فضاهای خالی مناسب: با استفاده از فضای مناسب بین فیلدها، فرم را خواناتر کنید.

  • افکت‌های نرم و روان: با استفاده از transition و animation افکت‌های نرم ایجاد کنید تا تجربه کاربری بهتری ارائه دهید.

  • نمایش پیام‌های خطا: کاربر را از هرگونه خطا در ورودی‌ها مطلع کنید و بازخوردهای مناسبی ارائه دهید.

 

نتیجه‌گیری

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

پرسش و پاسخ

نظری یافت نشد

مطالب مشابه

آموزش Pseudo-classes در CSS: تغییر استایل عناصر با hover، focus و nth-child

آموزش Pseudo-classes در CSS: تغییر استایل عناصر با hover، focus و nth-child

10م شهریور 1402

مطالعه بیشتر

مقدمه‌ای به رویدادها و دستورات در Vue.js: نحوه مدیریت و استفاده از v-on

مقدمه‌ای به رویدادها و دستورات در Vue.js: نحوه مدیریت و استفاده از v-on

28م شهریور 1402

مطالعه بیشتر

مفاهیم Promise و چگونگی استفاده از آن در جاوا اسکریپت: راهنمای کامل همراه با مثال‌ها

مفاهیم Promise و چگونگی استفاده از آن در جاوا اسکریپت: راهنمای کامل همراه با مثال‌ها

30م مهر 1403

مطالعه بیشتر

چگونه یک فوتر چسبان در CSS بسازیم: آموزش ساخت فوتر ثابت و همیشگی

چگونه یک فوتر چسبان در CSS بسازیم: آموزش ساخت فوتر ثابت و همیشگی

2م شهریور 1403

مطالعه بیشتر

Async/Await: نوشتن کدهای خواناتر و ناهم‌زمان در جاوا اسکریپت - آموزش کامل با مثال‌ها

Async/Await: نوشتن کدهای خواناتر و ناهم‌زمان در جاوا اسکریپت - آموزش کامل با مثال‌ها

30م مهر 1403

مطالعه بیشتر

معرفی DOM و اصول آن در جاوا اسکریپت: راهنمای جامع برای مبتدیان

معرفی DOM و اصول آن در جاوا اسکریپت: راهنمای جامع برای مبتدیان

1م آبان 1403

مطالعه بیشتر

آموزش مدیریت Box Model و ترکیب اجزای آن با CSS: کنترل دقیق فاصله‌ها و ابعاد عناصر

آموزش مدیریت Box Model و ترکیب اجزای آن با CSS: کنترل دقیق فاصله‌ها و ابعاد عناصر

5م شهریور 1402

مطالعه بیشتر

آموزش تغییر المان‌های DOM: ویرایش متن، سبک‌ها و کلاس‌ها در جاوا اسکریپت - راهنمای کامل با مثال‌ها

آموزش تغییر المان‌های DOM: ویرایش متن، سبک‌ها و کلاس‌ها در جاوا اسکریپت - راهنمای کامل با مثال‌ها

2م آبان 1403

مطالعه بیشتر

آموزش استفاده از ماژول‌ها (Modules) در جاوا اسکریپت: آشنایی با ES6 Modules - راهنمای کامل

آموزش استفاده از ماژول‌ها (Modules) در جاوا اسکریپت: آشنایی با ES6 Modules - راهنمای کامل

5م آبان 1403

مطالعه بیشتر

استفاده از display در CSS: تغییر نحوه نمایش عناصر - راهنمای جامع

استفاده از display در CSS: تغییر نحوه نمایش عناصر - راهنمای جامع

9م آبان 1403

مطالعه بیشتر

آموزش CSS Blend Modes: ادغام رنگ‌ها و تصاویر برای طراحی وب جذاب

آموزش CSS Blend Modes: ادغام رنگ‌ها و تصاویر برای طراحی وب جذاب

18م شهریور 1402

مطالعه بیشتر

استفاده از overflow در CSS برای مدیریت محتوای اضافی: راهنمای کامل و کاربردی

استفاده از overflow در CSS برای مدیریت محتوای اضافی: راهنمای کامل و کاربردی

11م آبان 1403

مطالعه بیشتر

تمامی حقوق معتلق به ناشر سایت است و کپی از آن پیگرد قانونی دارد