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

پرسش و پاسخ

نظری یافت نشد

مطالب مشابه

مقدمه‌ای بر CSS و نحوه اضافه کردن آن به HTML: راهنمای ساده و کامل برای مبتدیان

مقدمه‌ای بر CSS و نحوه اضافه کردن آن به HTML: راهنمای ساده و کامل برای مبتدیان

4م شهریور 1402

مطالعه بیشتر

آموزش استفاده از object-fit و object-position در CSS: تنظیم و قرارگیری تصاویر به‌صورت دقیق

آموزش استفاده از object-fit و object-position در CSS: تنظیم و قرارگیری تصاویر به‌صورت دقیق

12م آبان 1403

مطالعه بیشتر

آموزش ایجاد یک پروژه ساده React: شروع کار و ساختاردهی کامپوننت‌ها

آموزش ایجاد یک پروژه ساده React: شروع کار و ساختاردهی کامپوننت‌ها

28م شهریور 1402

مطالعه بیشتر

آموزش کامل استفاده از float، clear، text و font در CSS برای طراحی وب: راهنمای جامع

آموزش کامل استفاده از float، clear، text و font در CSS برای طراحی وب: راهنمای جامع

6م شهریور 1402

مطالعه بیشتر

استفاده از visibility و opacity در CSS برای مخفی‌سازی عناصر: راهنمای کامل و کاربردی

استفاده از visibility و opacity در CSS برای مخفی‌سازی عناصر: راهنمای کامل و کاربردی

11م آبان 1403

مطالعه بیشتر

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

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

10م شهریور 1402

مطالعه بیشتر

استفاده از calc در CSS: محاسبات پویا برای طراحی‌های منعطف

استفاده از calc در CSS: محاسبات پویا برای طراحی‌های منعطف

12م آبان 1403

مطالعه بیشتر

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

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

3م آبان 1403

مطالعه بیشتر

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

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

2م شهریور 1403

مطالعه بیشتر

استفاده از Viewports و Viewport Units در CSS: طراحی واکنش‌گرا با vw، vh، vmin و vmax

استفاده از Viewports و Viewport Units در CSS: طراحی واکنش‌گرا با vw، vh، vmin و vmax

16م آبان 1403

مطالعه بیشتر

آموزش ارتباط با سرور و ارسال درخواست‌های HTTP با Fetch API در جاوا اسکریپت: راهنمای جامع با مثال‌ها

آموزش ارتباط با سرور و ارسال درخواست‌های HTTP با Fetch API در جاوا اسکریپت: راهنمای جامع با مثال‌ها

1م آبان 1403

مطالعه بیشتر

آموزش استایل‌دهی لیست‌ها در CSS: طراحی و استایل‌دهی ul و ol

آموزش استایل‌دهی لیست‌ها در CSS: طراحی و استایل‌دهی ul و ol

10م آبان 1403

مطالعه بیشتر

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