دسته : آموزش رایگان 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 به شما این امکان را میدهد تا فرمهای جذاب، خوانا و کاربرپسند بسازید. با استفاده از تکنیکهای طراحی واکنشگرا و افکتهای تعاملی، میتوانید تجربه کاربری را بهبود دهید و کاربران را به تکمیل فرم ترغیب کنید. با تمرین و به کارگیری این نکات، میتوانید فرمهای حرفهای و زیبا طراحی کنید که در تمامی دستگاهها به خوبی نمایش داده شوند.
نظری یافت نشد
چگونه یک فوتر چسبان در CSS بسازیم: آموزش ساخت فوتر ثابت و همیشگی
2م شهریور 1403
مطالعه بیشتر
آموزش ایجاد یک پروژه ساده React: شروع کار و ساختاردهی کامپوننتها
28م شهریور 1402
مطالعه بیشتر
آموزش ارثبری (Inheritance) در جاوا اسکریپت: نحوه استفاده از پروتوتایپها و کلاسها
28م مهر 1403
مطالعه بیشتر
آموزش اصول طراحی الگوهای برنامهنویسی (Design Patterns) در جاوا اسکریپت: راهنمای جامع با مثالها
4م آبان 1403
مطالعه بیشتر
اصول پایه React.js: آشنایی با کامپوننتها، وضعیت و رندرینگ
28م شهریور 1402
مطالعه بیشتر
مقدمهای بر CSS و نحوه اضافه کردن آن به HTML: راهنمای ساده و کامل برای مبتدیان
4م شهریور 1402
مطالعه بیشتر
آموزش استفاده از تگهای تصویری در HTML: نمایش و مدیریت تصاویر در صفحات وب
29م مرداد 1402
مطالعه بیشتر
آموزش اضافه کردن ویدئو و صدا به وبسایت: نحوه استفاده از تگهای video و audio در HTML
23م مرداد 1402
مطالعه بیشتر
استفاده از display در CSS: تغییر نحوه نمایش عناصر - راهنمای جامع
9م آبان 1403
مطالعه بیشتر
کار با تصاویر SVG در CSS: کنترل استایل و استفاده از گرافیکهای مقیاسپذیر
16م آبان 1403
مطالعه بیشتر
معرفی DOM و اصول آن در جاوا اسکریپت: راهنمای جامع برای مبتدیان
1م آبان 1403
مطالعه بیشتر
تنظیم عرض و ارتفاع عناصر در CSS: استفاده از width، height، max و min برای کنترل دقیق اندازهها
9م آبان 1403
مطالعه بیشتر
تمامی حقوق معتلق به ناشر سایت است و کپی از آن پیگرد قانونی دارد