دسته : آموزش رایگان CSS
فرمها یکی از اجزای اصلی بسیاری از وبسایتها هستند و برای ارتباط با کاربران، جمعآوری اطلاعات و ارائه خدمات مختلف به کار میروند. طراحی و استایلدهی مناسب به فرمها میتواند تجربه کاربری را بهبود بخشد و کاربران را ترغیب به تکمیل فرم کند. در این مقاله، با روشهای مختلف طراحی و استایلدهی فرمها با CSS آشنا میشویم و نکاتی برای ایجاد فرمهای زیبا و واکنشگرا ارائه میدهیم.
فرمها از عناصر مختلفی مانند فیلدهای ورودی (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 برای ارسال اطلاعات فرم استفاده شده است.
برای بهبود ظاهر فرم، ابتدا ویژگیهای کلی فرم و فاصلههای بین عناصر را تنظیم میکنیم.
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 استفاده شده است.
برای نمایش مناسب فرم در اندازههای مختلف صفحه، میتوانید از 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) در فیلدهای ورودی به کاربران کمک میکند که متوجه نوع اطلاعات مورد نیاز شوند.
< 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، میتوان به فرم ظاهری تعاملیتر و جذابتر داد.
افکت جابهجایی برچسب هنگام تمرکز روی فیلد
برای افزودن افکت به برچسبها (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
10م شهریور 1402
مطالعه بیشتر
مقدمهای به رویدادها و دستورات در Vue.js: نحوه مدیریت و استفاده از v-on
28م شهریور 1402
مطالعه بیشتر
مفاهیم Promise و چگونگی استفاده از آن در جاوا اسکریپت: راهنمای کامل همراه با مثالها
30م مهر 1403
مطالعه بیشتر
چگونه یک فوتر چسبان در CSS بسازیم: آموزش ساخت فوتر ثابت و همیشگی
2م شهریور 1403
مطالعه بیشتر
Async/Await: نوشتن کدهای خواناتر و ناهمزمان در جاوا اسکریپت - آموزش کامل با مثالها
30م مهر 1403
مطالعه بیشتر
معرفی DOM و اصول آن در جاوا اسکریپت: راهنمای جامع برای مبتدیان
1م آبان 1403
مطالعه بیشتر
آموزش مدیریت Box Model و ترکیب اجزای آن با CSS: کنترل دقیق فاصلهها و ابعاد عناصر
5م شهریور 1402
مطالعه بیشتر
آموزش تغییر المانهای DOM: ویرایش متن، سبکها و کلاسها در جاوا اسکریپت - راهنمای کامل با مثالها
2م آبان 1403
مطالعه بیشتر
آموزش استفاده از ماژولها (Modules) در جاوا اسکریپت: آشنایی با ES6 Modules - راهنمای کامل
5م آبان 1403
مطالعه بیشتر
استفاده از display در CSS: تغییر نحوه نمایش عناصر - راهنمای جامع
9م آبان 1403
مطالعه بیشتر
آموزش CSS Blend Modes: ادغام رنگها و تصاویر برای طراحی وب جذاب
18م شهریور 1402
مطالعه بیشتر
استفاده از overflow در CSS برای مدیریت محتوای اضافی: راهنمای کامل و کاربردی
11م آبان 1403
مطالعه بیشتر
تمامی حقوق معتلق به ناشر سایت است و کپی از آن پیگرد قانونی دارد