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

پرسش و پاسخ

نظری یافت نشد

مطالب مشابه

استفاده از clip-path در CSS برای برش‌های زیبا و جذاب: راهنمای کامل
16م آبان 1403

استفاده از clip-path در CSS برای برش‌های زیبا و جذاب: راهنمای کامل

مطالعه بیشتر
آموزش استفاده از position در CSS: نحوه موقعیت‌دهی عناصر در صفحات وب
9م آبان 1403

آموزش استفاده از position در CSS: نحوه موقعیت‌دهی عناصر در صفحات وب

مطالعه بیشتر
آموزش کامل ویژگی background در CSS: تنظیمات پس‌زمینه برای طراحی وب راهنمای جامع
5م شهریور 1402

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

مطالعه بیشتر
آموزش ارث‌بری (Inheritance) در جاوا اسکریپت: نحوه استفاده از پروتوتایپ‌ها و کلاس‌ها
28م مهر 1403

آموزش ارث‌بری (Inheritance) در جاوا اسکریپت: نحوه استفاده از پروتوتایپ‌ها و کلاس‌ها

مطالعه بیشتر
جمع‌بندی، مرور مطالب و پروژه نهایی: ایجاد یک اپلیکیشن وب کامل با جاوا اسکریپت - راهنمای گام به گام
5م آبان 1403

جمع‌بندی، مرور مطالب و پروژه نهایی: ایجاد یک اپلیکیشن وب کامل با جاوا اسکریپت - راهنمای گام به گام

مطالعه بیشتر
آموزش مفاهیم اولیه CSS Grid Layout: طراحی شبکه‌های پیچیده و واکنش‌گرا راهنمای کامل
6م شهریور 1402

آموزش مفاهیم اولیه CSS Grid Layout: طراحی شبکه‌های پیچیده و واکنش‌گرا راهنمای کامل

مطالعه بیشتر
آموزش رویدادهای پیشرفته در جاوا اسکریپت: بابلینگ، کپچرینگ و توقف پیش‌فرض - راهنمای جامع
2م آبان 1403

آموزش رویدادهای پیشرفته در جاوا اسکریپت: بابلینگ، کپچرینگ و توقف پیش‌فرض - راهنمای جامع

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

آموزش کار با رویدادهای فرم و اعتبارسنجی فرم‌ها در جاوا اسکریپت: راهنمای جامع

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

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

مطالعه بیشتر
آموزش اصول کار با WebSockets و ارتباطات بلادرنگ در وب: راهنمای کامل
5م آبان 1403

آموزش اصول کار با WebSockets و ارتباطات بلادرنگ در وب: راهنمای کامل

مطالعه بیشتر
آموزش مفاهیم پایه‌ای اشیاء در جاوا اسکریپت: تعریف، ویژگی‌ها و متدها
2م شهریور 1403

آموزش مفاهیم پایه‌ای اشیاء در جاوا اسکریپت: تعریف، ویژگی‌ها و متدها

مطالعه بیشتر
تفاوت PHP با HTML، CSS و JavaScript؛ راهنمای جامع و ساده برای مبتدیان
21م خرداد 1405

تفاوت PHP با HTML، CSS و JavaScript؛ راهنمای جامع و ساده برای مبتدیان

مطالعه بیشتر

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