آموزش رایگان CSS

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

18م شهریور 1402 محراب حسن زاده
آموزش طراحی و استایل‌دهی فرم‌ها با 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 به شما این امکان را می‌دهد تا فرم‌های جذاب، خوانا و کاربرپسند بسازید. با استفاده از تکنیک‌های طراحی واکنش‌گرا و افکت‌های تعاملی، می‌توانید تجربه کاربری را بهبود دهید و کاربران را به تکمیل فرم ترغیب کنید. با تمرین و به کارگیری این نکات، می‌توانید فرم‌های حرفه‌ای و زیبا طراحی کنید که در تمامی دستگاه‌ها به خوبی نمایش داده شوند.

پرسش و پاسخ

نظری یافت نشد

مطالب مشابه

آموزش جامع عملگرهای مقایسه‌ای در PHP؛ بررسی تفاوت == و ===
3م تیر 1405

آموزش جامع عملگرهای مقایسه‌ای در PHP؛ بررسی تفاوت == و ===

مطالعه بیشتر
آموزش کار با flex-grow، flex-shrink و flex-basis در CSS Flexbox: مدیریت اندازه و فضای عناصر
11م آبان 1403

آموزش کار با flex-grow، flex-shrink و flex-basis در CSS Flexbox: مدیریت اندازه و فضای عناصر

مطالعه بیشتر
آموزش کامل دستور switch-case در PHP (به همراه مثال‌های کاربردی)
4م تیر 1405

آموزش کامل دستور switch-case در PHP (به همراه مثال‌های کاربردی)

مطالعه بیشتر
کنترل زمان‌بندی و اندازه‌گیری دقیق انیمیشن‌ها در CSS: آموزش جامع و اصول استاندارد
18م شهریور 1402

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

مطالعه بیشتر
آموزش ساخت یک Todo List با استفاده از DOM و جاوا اسکریپت: راهنمای گام به گام
3م آبان 1403

آموزش ساخت یک Todo List با استفاده از DOM و جاوا اسکریپت: راهنمای گام به گام

مطالعه بیشتر
راهنمای جامع نصب و پیکربندی محیط توسعه محلی (XAMPP، WAMP و Laragon)
14م خرداد 1405

راهنمای جامع نصب و پیکربندی محیط توسعه محلی (XAMPP، WAMP و Laragon)

مطالعه بیشتر
آموزش جامع و استاندارد کار با آرایه‌ها در PHP (راهنمای گوگل)
24م خرداد 1405

آموزش جامع و استاندارد کار با آرایه‌ها در PHP (راهنمای گوگل)

مطالعه بیشتر
سیر تا پیاز عملگرهای ریاضی در PHP + مثال‌های کاربردی
24م خرداد 1405

سیر تا پیاز عملگرهای ریاضی در PHP + مثال‌های کاربردی

مطالعه بیشتر
مقدمه‌ای بر Node.js و کار با جاوا اسکریپت سمت سرور: آموزش اولیه و اصولی
4م آبان 1403

مقدمه‌ای بر Node.js و کار با جاوا اسکریپت سمت سرور: آموزش اولیه و اصولی

مطالعه بیشتر
آموزش کامل ثابت‌ها در PHP: تفاوت عمیق define و const طبق استانداردهای گوگل
24م خرداد 1405

آموزش کامل ثابت‌ها در PHP: تفاوت عمیق define و const طبق استانداردهای گوگل

مطالعه بیشتر
استفاده از Flexbox در CSS برای چیدمان‌های مدرن: راهنمای جامع و کاربردی
10م آبان 1403

استفاده از Flexbox در CSS برای چیدمان‌های مدرن: راهنمای جامع و کاربردی

مطالعه بیشتر
آموزش متغیرهای سفارشی (Custom Properties) در CSS: نحوه تعریف و استفاده از var
18م شهریور 1402

آموزش متغیرهای سفارشی (Custom Properties) در CSS: نحوه تعریف و استفاده از var

مطالعه بیشتر

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