آموزش گام به گام ساخت فرم ورود با افکت قطره آب با HTML و CSS – پروژه عملی
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
/* ریست کلی استایلها برای همه عناصر */ * { margin: ; padding: ; box-sizing: border-box; } /* تنظیمات پایه بدنه */ body { display: flex; justify-content: center; align-items: center; min-height: 100vh; background: #eff0f4; } |
توضیح:
- این بخش تمامی استایلهای پیشفرض مرورگر را ریست میکند تا از بروز ناسازگاریها جلوگیری شود.
- بدنه صفحه به گونهای تنظیم شده که محتوا در وسط صفحه نمایش داده شود.
گام ۲.۲: استایل کانتینر و موقعیتدهی فرم
1 2 3 4 5 6 7 |
.container { position: relative; left: -80px; display: flex; justify-content: center; align-items: center; } |
توضیح:
- موقعیتدهی کانتینر به صورت نسبی باعث میشود که فرم در موقعیت مناسبی قرار گیرد.
- تنظیمات flexbox به چینش منظم عناصر کمک میکند.
گام ۲.۳: استایل بخش اصلی فرم (قسمت .drop)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
.drop { position: relative; width: 350px; height: 350px; transition: 0.5s; display: flex; align-items: center; justify-content: center; /* استفاده از border-radius پیچیده برای افکت قطره آب */ border-radius: 62% 38% 24% 76% / 59% 60% 40% 41%; /* استفاده از box-shadow ترکیبی برای ایجاد عمق و افکت بصری */ box-shadow: inset 20px 20px 20px rgba(, , , 0.05), 25px 35px 20px rgba(, , , 0.05), 25px 30px 30px rgba(, , , 0.05), inset -20px -20px 25px rgba(255, 255, 255, 0.9); } |
توضیح:
- border-radius: با استفاده از مقادیر درصدی افقی و عمودی، شکل منحصر به فرد و هنری ایجاد میشود.
- box-shadow: ترکیب سایههای داخلی و خارجی باعث ایجاد عمق و جلوهی سهبعدی در فرم میشود.
- transition: باعث میشود که تغییرات (مانند hover) به صورت نرم انیمیت شوند.
گام ۲.۴: افکت hover برای بخش .drop
1 2 3 |
.container .drop:hover { border-radius: 50%; } |
توضیح:
- هنگام قرار گرفتن ماوس روی فرم، شکل به یک دایره کامل تغییر میکند که یک افکت جذاب و دینامیک ایجاد میکند.
گام ۲.۵: افکتهای تزئینی داخل .drop
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
.container .drop::before { content: ""; position: absolute; top: 50px; left: 85px; width: 35px; height: 35px; border-radius: 50%; background: #fff; opacity: 0.9; } .container .drop::after { content: ""; position: absolute; top: 85px; left: 110px; width: 15px; height: 15px; border-radius: 50%; background: #fff; opacity: 0.9; } |
توضیح:
- این افکتها المانهای تزئینی کوچکی هستند که به ایجاد حس قطره آب کمک میکنند و زیبایی طراحی را افزایش میدهند.
گام ۲.۶: استایل محتوا و عنوان فرم
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
.drop .content { position: relative; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; padding: 40px; gap: 15px; } .content h2 { color: #3240e1; font-size: 1.5em; } |
توضیح:
- تنظیمات محتوا درون فرم به گونهای است که تمام المانها به صورت ستونی و مرکز چین شده نمایش داده شوند.
- عنوان فرم (h2) با رنگ آبی جذاب و اندازه مناسب نمایش داده میشود.
گام ۲.۷: استایل فرم ورود
1 2 3 4 5 6 7 |
.content form { display: flex; flex-direction: column; gap: 20px; justify-content: center; align-items: center; } |
توضیح:
- فرم ورود به صورت ستونی با فاصله مناسب بین فیلدها نمایش داده میشود تا خوانایی و کاربری آن بهبود یابد.
گام ۲.۸: استایل فیلدهای ورودی
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
.container .drop .content form .input { position: relative; width: 225px; /* استفاده از سایهها برای ایجاد عمق در ورودی */ box-shadow: inset 2px 5px 10px rgba(, , , 0.1), inset -2px -5px 10px rgba(255, 255, 255, 1), 15px 15px 10px rgba(, , , 0.05), 15px 10px 15px rgba(, , , 0.025); border-radius: 25px; } .container .drop .content form .input::before { content: ''; position: absolute; top: 8px; left: 50%; transform: translateX(-50%); width: 65%; height: 5px; background: rgba(255, 255, 255, 0.5); border-radius: 10px 15px; } .container .drop .content form .input input { border: none; outline: none; background: transparent; width: 100%; font-size: 1em; padding: 10px 15px; } |
توضیح:
- فیلدهای ورودی با سایههای داخلی و خارجی به گونهای طراحی شدهاند که حس عمق و برجستگی را ایجاد کنند.
- نوار کوچک (پسیودو المنت) به عنوان یک افکت تزئینی داخل ورودی قرار داده شده است.
- استفاده از border-radius باعث گرد شدن گوشهها و ایجاد ظاهری نرم میشود.
گام ۲.۹: استایل دکمه ارسال فرم (ورود)
1 2 3 4 5 6 7 8 |
.container .drop .content form .input input[type="submit"] { color: #fff; text-transform: uppercase; font-size: 1em; cursor: pointer; letter-spacing: 0.1em; font-weight: 600; } |
توضیح:
- دکمه ارسال فرم با رنگ سفید و حروف بزرگ نمایش داده میشود.
- افکتهای تعاملی مانند تغییر رنگ و انیمیشن میتوانند در این قسمت اضافه شوند.
گام ۲.۱۰: افکت تغییر اندازه دکمه ارسال هنگام hover
1 2 3 4 5 6 7 8 9 10 11 12 13 |
.container .drop .content form .input:last-child { width: 120px; background: #3a86ff; box-shadow: inset 2px 5px 10px rgba(, , , 0.1), 15px 15px 10px rgba(, , , 0.05), 15px 10px 15px rgba(, , , 0.025); transition: 0.5s; } .container .drop .content form .input:last-child:hover { width: 150px; } |
توضیح:
- این بخش باعث میشود که دکمه ارسال فرم هنگام hover به تدریج بزرگ شود و افکت جذابی ایجاد کند.
گام ۲.۱۱: استایل دکمههای خارجی (لینکهای فراموشی رمز عبور و ثبت نام)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
.btn { position: absolute; right: -120px; bottom: ; width: 120px; height: 120px; background: #00b4d8; display: flex; justify-content: center; align-items: center; cursor: pointer; text-decoration: none; color: #fff; line-height: 2.2em; letter-spacing: 0.01em; font-size: 0.8em; transition: 0.25s; text-align: center; /* استفاده از سایههای ترکیبی برای دکمه */ box-shadow: inset 10px 10px 10px rgba(, 180, 216, 0.05), 15px 25px 10px rgba(, 180, 216, 0.1), 15px 20px 20px rgba(, 180, 216, 0.1), inset -10px -10px 15px rgba(255, 255, 255, 0.5); /* تنظیم border-radius غیرمتقارن برای دکمه */ border-radius: 44% 56% 65% 35% / 57% 58% 42% 43%; } /* افکت دکمه: اضافه کردن جزئیات کوچک */ .btn::before { content: ''; position: absolute; top: 15px; left: 30px; width: 20px; height: 20px; border-radius: 50%; background: #fff; opacity: 0.45; } |
توضیح:
- دکمههای خارجی با استفاده از box-shadow و border-radius منحصر به فرد طراحی شدهاند.
- افکت hover و انیمیشنهای کوچک در این بخش باعث جذابیت بیشتر دکمه میشوند.
گام ۲.۱۲: استایل دکمه ثبت نام
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
.btn.signup { bottom: 150px; right: -140px; width: 80px; height: 80px; border-radius: 49% 51% 52% 48% / 63% 59% 41% 37%; background: #f77f01; box-shadow: inset 10px 10px 10px rgba(247, 127, , 0.05), 15px 25px 10px rgba(247, 127, , 0.1), 15px 20px 20px rgba(247, 127, , 0.1), inset -10px -10px 15px rgba(255, 255, 255, 0.5); } .btn.signup::before { left: 20px; width: 15px; height: 15px; } |
توضیح:
- دکمه ثبت نام با رنگ نارنجی و border-radius متفاوت، به گونهای طراحی شده تا از دکمه اصلی تمایز یابد.
- سایههای استفاده شده در این دکمه حس ویژهای به آن میدهند.
گام ۲.۱۳: افکت تغییر شکل دکمهها هنگام hover
1 2 3 |
.btn:hover { border-radius: 50%; } |
توضیح:
- وقتی کاربر روی دکمهها قرار میگیرد، با تغییر ناگهانی border-radius به ۵۰%، افکت نرمی ایجاد میشود که حس تعامل بیشتری به کاربر منتقل میکند.
نتیجهگیری نهایی
در این آموزش گام به گام، ما به صورت جداگانه هر بخش از سورس کد فرم ورود با افکت قطره آب را بررسی کردیم:
- مرحله ۱: ایجاد ساختار HTML شامل عناصر اصلی فرم ورود.
- مرحله ۲: استایلدهی CSS بخش به بخش شامل تنظیمات کلی، استایلدهی بخش فرم (drop)، محتوا و ورودیها، دکمههای ارسال و لینکهای فراموشی رمز عبور و ثبت نام.
- بخشهای تزئینی: استفاده از افکتهای box-shadow و border-radius برای ایجاد ظاهر جذاب و هنری.
این پروژه عملی نه تنها به شما کمک میکند تا مفاهیم #آموزش_HTML و #آموزش_CSS را به صورت عملی فرا بگیرید، بلکه الهامبخش طراحیهای مدرن و واکنشگرا برای پروژههای وب شما خواهد بود.
برای مشاهده آموزش ویدیویی جامع این پروژه، حتماً به کانال یوتیوب ما مراجعه کنید. همچنین سورس کد کامل و فایلهای مربوط به تصاویر و فونتها از این مقاله آموزشی قابل دانلود هستند.
با همراهی این آموزش، شما یک قدم بزرگ به سمت تسلط بر مباحث طراحی فرمهای ورود و استایلدهی با CSS برداشتهاید. موفق باشید و از یادگیری لذت ببرید!
هیچ دیدگاهی برای این محصول نوشته نشده است.