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

پرسش و پاسخ

نظری یافت نشد

مطالب مشابه

آموزش کار با Webpack و Bundlers برای مدیریت پروژه‌ها: راهنمای جامع و کاربردی
5م آبان 1403

آموزش کار با Webpack و Bundlers برای مدیریت پروژه‌ها: راهنمای جامع و کاربردی

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

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

مطالعه بیشتر
آموزش HTML: اولین گام برای طراحی سایت و سئو حرفه‌ای
18م مرداد 1402

آموزش HTML: اولین گام برای طراحی سایت و سئو حرفه‌ای

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

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

مطالعه بیشتر
آموزش جامع حلقه‌های for و while در جاوا اسکریپت: نحوه استفاده و کاربردها
2م بهمن 1402

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

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

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

مطالعه بیشتر
مفاهیم پیشرفته اشیاء در جاوا اسکریپت: مدیریت خصوصیات و متدها
4م مهر 1403

مفاهیم پیشرفته اشیاء در جاوا اسکریپت: مدیریت خصوصیات و متدها

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

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

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

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

مطالعه بیشتر
آموزش استفاده از box-shadow و text-shadow در CSS: ایجاد سایه‌های زیبا و جذاب
11م آبان 1403

آموزش استفاده از box-shadow و text-shadow در CSS: ایجاد سایه‌های زیبا و جذاب

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

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

مطالعه بیشتر
آموزش جامع توابع در جاوا اسکریپت: نحوه تعریف، فراخوانی و بازگشت مقادیر
2م بهمن 1402

آموزش جامع توابع در جاوا اسکریپت: نحوه تعریف، فراخوانی و بازگشت مقادیر

مطالعه بیشتر

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