طراحی وب سایت خودرو با استفاده از انیمیشن های CSS و HTML
طراحی وب سایت خودرو با استفاده از انیمیشن های CSS و HTML
در این آموزش جامع و گام به گام قصد داریم یک وبسایت انیمیشنی خودرو با استفاده از HTML و CSS بسازیم. این مقاله به زبان ساده نوشته شده و تمامی مراحل کار را از ابتدای کدنویسی HTML، سپس اضافه کردن CSS با انیمیشنهای بهینهشده (بخش رنگ و جلوههای بصری) و در نهایت توضیحاتی درباره افزودن کدهای جاوا اسکریپت برای افزایش تعامل کاربر شرح میدهد. همچنین در این مقاله از کلمات کلیدی پرجستجوی گوگل استفاده شده و به صورت داخلی با لینکهایی از سایت پاسخ وردپرس ارجاع دادهایم. اگر دوست دارید نسخه ویدیویی این آموزش را مشاهده کنید، میتوانید به کانال یوتیوب “پاسخ وردپرس” مراجعه کنید.
نکته مهم: اگر علاقهمند هستید آموزش ویدیویی این پروژه را ببینید، میتوانید به کانال یوتیوب پاسخ وردپرس مراجعه کنید. همچنین، اگر مایلید درباره ترفندهای کاربردی CSS اطلاعات بیشتری کسب کنید، توصیه میکنم سری به لینکهای زیر بزنید:
۱. مقدمه
در این پروژه آموزشی، هدف ما ساخت یک قالب زیبا و منحصربهفرد برای نمایش خودروها با استفاده از HTML و CSS است. در این قالب از انیمیشنهای جذاب، جلوههای رنگی و تایپوگرافی مناسب بهره گرفتهایم تا تجربه کاربری فوقالعادهای ایجاد کنیم.
همچنین توجه داشته باشید که در ادامه مقاله به صورت مرحله به مرحله به توضیح کدهای استفاده شده میپردازیم. برای آشنایی بیشتر با ترفندهای CSS و تگهای HTML، میتوانید به مقالات زیر نیز مراجعه کنید:
۲. ساختار کلی HTML
ابتدا نگاهی به ساختار HTML پروژه میاندازیم. این فایل شامل بخشهای اصلی صفحه مانند header، navigation، بخش اصلی محتوا و قسمت نمایش تصویر است. در ادامه کد HTML ارائه شده را مشاهده میکنید:
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 41 42 43 44 45 |
<!DOCTYPE html> <html lang="fa"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>وبسایت انیمیشنی خودرو با استفاده از HTML و CSS</title> <link rel="stylesheet" href="style.css"> <link href='https://unpkg.com/boxicons@2.1.4/css/boxicons.min.css' rel='stylesheet'> </head> <body> <header class="header"> <a href="#" class="logo">خودروها</a> <nav class="navbar"> <a href="#" style="--i:1;" class="active">خانه</a> <a href="#" style="--i:2;">درباره</a> <a href="#" style="--i:3;">نقد و بررسی</a> <a href="#" style="--i:4;">ویژه</a> <a href="#" style="--i:5;">تماس</a> </nav> <div class="social-media"> <a href="#" style="--i:5;"><i class='bx bxl-facebook'></i></a> <a href="#" style="--i:6;"><i class='bx bxl-twitter'></i></a> <a href="#" style="--i:7;"><i class='bx bxl-instagram'></i></a> <a href="#" style="--i:8;"><i class='bx bxl-whatsapp'></i></a> </div> </header> <section class="home"> <div class="home-content"> <h1>تجربه خرید و فروش خودرو</h1> <h3>تعریف دوباره شده!</h3> <p>لورم ایپسوم متن ساختگی و بیمعنی است که از صنعت چاپ و طراحی استفاده میشود. این متن به عنوان نمونه جهت پر کردن فضای متنی در وبسایت به کار میرود.</p> <a href="#" class="btn">کشف خودروها</a> </div> <div class="home-img"> <div class="rhombus"> <img src="cars.png" alt="تصویر خودرو"> </div> </div> <div class="rhombus2"></div> </section> </body> </html> |
توضیحات کد HTML:
-
تگهای استاندارد:
در ابتدای فایل با استفاده از<!DOCTYPE html>
اعلام میکنیم که سند ما از نوع HTML5 است. سپس در تگ<html lang="fa">
زبان سند را فارسی تعیین کردهایم. -
بخش head:
در این بخش، اطلاعات متا (مانند charset و viewport) برای ریسپانسیو بودن طراحی قرار داده شده است. همچنین لینک به فایل CSS اصلی (style.css) و کتابخانه آیکونهای Boxicons اضافه شده است. -
بخش header:
شامل لوگو، منوی ناوبری (navbar) و آیکونهای شبکههای اجتماعی است.- از استایلهای تعبیهشده مانند
style="--i:1;"
برای تاخیر انیمیشنهای ورود به صفحه استفاده شده است. - این بخش به صورت fixed در بالای صفحه قرار میگیرد تا در هنگام اسکرول هم قابل دسترسی باشد.
- از استایلهای تعبیهشده مانند
-
بخش home:
شامل دو بخش اصلی است:
۱. home-content: شامل عنوان، زیرعنوان، توضیحات و دکمهای برای هدایت کاربر به صفحههای دیگر.
۲. home-img: محلی برای نمایش تصویر خودرو که داخل آن از یک div به نامrhombus
برای قرار دادن انیمیشن و تصویر استفاده شده است. -
لینکهای داخلی:
در طول مقاله از لینکهای داخلی استفاده میشود. برای مشاهده آموزشهای بیشتر در زمینه HTML و CSS، به پاسخ وردپرس سر بزنید.
۳. استایلدهی با CSS
در فایل CSS ما از یک فونت فارسی زیبا (Vazir) استفاده کرده و انیمیشنهای مختلفی برای ایجاد جلوههای بصری نرم و جذاب اضافه کردهایم. در ادامه کد CSS ارائه شده و توضیحات مربوط به آن آمده است:
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 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 |
@import url("https://cdn.jsdelivr.net/gh/rastikerdar/vazir-font@v30.1.0/dist/font-face.css"); * { margin: ; padding: ; box-sizing: border-box; font-family: "Vazir", sans-serif; } body { background: #eaeaea; } .header { position: fixed; top: ; left: ; width: 100%; padding: 30px 5%; background: transparent; display: flex; justify-content: space-between; align-items: center; z-index: 100; } .logo { font-size: 25px; color: #0048df; text-decoration: none; font-weight: 600; opacity: ; animation: slideRight 1s ease forwards; } .navbar { direction: rtl; } .navbar a { display: inline-block; font-size: 18px; color: #222; text-decoration: none; font-weight: 500; margin: 20px; transition: 0.3s; opacity: ; animation: slideTop 0.5s ease forwards; animation-delay: calc(0.2s * var(--i)); } .navbar a:hover, .navbar a.active { color: #0048df; } .social-media { display: flex; justify-content: space-between; width: 150px; height: 40px; } .social-media a { display: inline-flex; justify-content: center; align-items: center; width: 40px; height: 40px; background: transparent; border: 2px solid transparent; text-decoration: none; transform: rotate(45deg); transition: 0.5s; opacity: ; animation: slideSci 0.5s ease forwards; animation-delay: calc(0.2s * var(--i)); } .social-media a:hover { border-color: #eaeaea; } .social-media a i { font-size: 24px; color: #eaeaea; transform: rotate(-45deg); } .home { position: relative; width: 100%; height: 100vh; display: flex; justify-content: space-between; align-items: center; padding: 50px 8% ; overflow: hidden; } .home-content { max-width: 630px; text-align: right; } .home-content h1 { font-size: 50px; line-height: 1.2; opacity: ; animation: slideBottom 1s ease forwards; animation-delay: 1s; } .home-content h3 { font-size: 40px; color: #0048df; opacity: ; animation: slideRight 1s ease forwards; animation-delay: 1s; } .home-content p { font-size: 16px; margin: 15px 30px; opacity: ; animation: slideleft 1s ease forwards; animation-delay: 1.6s; } .btn { display: inline-block; padding: 10px 28px; background: #0048df; border: 2px solid #0048df; border-radius: 6px; box-shadow: 10px rgba(, , , 0.1); font-size: 16px; color: #eaeaea; letter-spacing: 1px; text-decoration: none; font-weight: 600; transition: 0.5s; opacity: ; animation: slideTop 1s ease forwards; animation-delay: 2s; } .btn:hover { background: transparent; color: #0048df; } .home-img { position: relative; right: -10%; top: -8%; width: 450px; height: 450px; transform: rotate(45deg); } .home-img .rhombus { position: absolute; width: 100%; height: 100%; background: #eaeaea; border: 25px solid #0048df; box-shadow: -15px 15px 15px rgba(, , , 0.2); opacity: ; animation: zoomOut 1s ease forwards; animation-delay: 1.6s; } .home-img .rhombus img { position: absolute; top: 110px; left: -250px; max-width: 750px; transform: rotate(-45deg); opacity: ; animation: car 1s ease forwards; animation-delay: 2s; } .home .rhombus2 { position: absolute; top: -25%; right: -25%; width: 700px; height: 700px; background: #0048df; transform: rotate(45deg); z-index: -1; opacity: ; animation: rhombus2 1s ease forwards; } /* انیمیشنهای کیفریم */ @keyframes slideRight { % { transform: translateX(-100px); opacity: ; } 100% { transform: translateX(); opacity: 1; } } @keyframes slideleft { % { transform: translateX(100px); opacity: ; } 100% { transform: translateX(); opacity: 1; } } @keyframes slideTop { % { transform: translateY(-100px); opacity: ; } 100% { transform: translateY(); opacity: 1; } } @keyframes slideBottom { % { transform: translateY(-100px); opacity: ; } 100% { transform: translateY(); opacity: 1; } } @keyframes slideSci { % { transform: translateX(100px) rotate(45deg); opacity: ; } 100% { transform: translateX() rotate(45deg); opacity: 1; } } @keyframes zoomOut { % { transform: scale(1.1); opacity: ; } 100% { transform: scale(1); opacity: 1; } } @keyframes car { % { transform: translate(300px, -300px) scale() rotate(-45deg); opacity: ; } 100% { transform: translate(, ) scale(1) rotate(-45deg); opacity: 1; } } @keyframes rhombus2 { % { right: -40%; opacity: ; } 100% { right: -25%; opacity: 1; } } |
توضیحات کد CSS:
-
ایمپورت فونت:
در ابتدای فایل از فونت “Vazir” استفاده کردهایم تا ظاهر متنها خوانا و زیبا باشد. -
استفاده از selector عمومی (*):
تمامی عناصر از نظر فاصلهها (margin، padding) و box-sizing به صورت یکسان تنظیم شدهاند تا استایلدهی یکنواخت شود. -
تنظیم پسزمینه و استایلهای عمومی:
برایbody
پسزمینهای به رنگ خاکستری روشن تعیین شده است.
در بخش.header
از موقعیت ثابت (fixed) استفاده شده تا منو همیشه در بالای صفحه نمایش داده شود. -
استایلهای لوگو و منو:
برای لوگو از رنگ آبی (#۰۰۴۸df) و انیمیشن slideRight استفاده شده است.
منوی ناوبری با جهتدهی راست به چپ (direction: rtl;
) برای زبان فارسی بهینه شده و هر لینک با تاخیر انیمیشنی متفاوت (با استفاده از CSS custom property--i
) ظاهر میشود. -
استایل آیکونهای شبکههای اجتماعی:
آیکونها درون دایرههایی با تغییر رنگ و چرخش قرار دارند.
هنگام هاور، حاشیهی آیکونها تغییر کرده و جلوههای بصری زیباتری ایجاد میشود. -
بخش محتوای اصلی (home):
متنها (عنوان، زیرعنوان و توضیحات) دارای انیمیشنهایی مانند slideBottom، slideRight و slideleft هستند تا به ترتیب ظاهر شوند.
دکمه (btn) نیز با انیمیشنی نرم وارد صفحه میشود و هنگام هاور رنگ آن تغییر میکند. -
بخش تصویر (home-img):
تصویر خودرو داخل یک قاب لوزی شکل (rhombus) قرار دارد که با انیمیشنهای zoomOut و car ظاهر میشود.
div دیگری به نامrhombus2
به عنوان پسزمینهی دکوراتیو اضافه شده است. -
تعریف انیمیشنها:
مجموعهای از keyframes مانند slideRight، slideleft، slideTop، slideBottom، slideSci، zoomOut، car و rhombus2 تعریف شدهاند تا حرکات و جلوههای انیمیشنی دقیق و جذابی ارائه دهند.
برای اطلاعات بیشتر و یادگیری ترفندهای پیشرفته در CSS، میتوانید به این بخش مراجعه کنید. همچنین برای آشنایی با تگهای HTML، پیشنهاد میکنیم راهنمای HTML Tags را مطالعه کنید.
۵. نتیجهگیری و منابع تکمیلی
در این آموزش گام به گام، با ساختاردهی HTML، استایلدهی CSS و نحوه استفاده از انیمیشنهای جذاب آشنا شدید. نکات کلیدی شامل موارد زیر بود:
- ساختار منظم HTML: استفاده از تگهای استاندارد، بخشهای header و home برای نمایش محتوا و تصاویر.
- استفاده از فونتهای بهینه: استفاده از فونت Vazir برای زیبایی و خوانایی متن.
- تنظیم انیمیشنها در CSS: استفاده از keyframes برای ایجاد جلوههای متحرک و بهبود تجربه کاربری.
- لینکسازی داخلی: برای گسترش دانش خود، میتوانید به مقالات مرتبط در سایت پاسخ وردپرس مراجعه کنید.
اگر دوست دارید این آموزش را به صورت ویدیویی مشاهده کنید، پیشنهاد میکنیم به کانال یوتیوب “پاسخ وردپرس” سر بزنید. این کانال آموزشهای تصویری مفصلی در زمینه طراحی و توسعه وب ارائه میدهد.
همچنین به یاد داشته باشید که برای آشنایی بیشتر با پروژههای مشابه میتوانید به آموزشهای زیر مراجعه کنید:
این آموزش نقطه شروع خوبی برای کسانی است که به دنبال ایجاد وبسایتهای داینامیک و جذاب هستند. با تمرین و آزمایش کدهای ارائهشده، میتوانید مهارتهای خود را در زمینه طراحی وب بهبود دهید.
در پایان، توصیه میکنیم که همواره پروژههای کوچک خود را ساخته و پس از آن به پروژههای بزرگتر بپردازید. استفاده از منابع آنلاین مانند پاسخ وردپرس به شما در یادگیری ترفندهای جدید و رفع اشکالهای احتمالی کمک خواهد کرد.
امیدوارم این مقاله آموزشی گام به گام برای شما مفید واقع شده باشد و بتوانید با اطمینان پروژههای خلاقانه خود را طراحی و توسعه دهید. موفق باشید!
هیچ دیدگاهی برای این محصول نوشته نشده است.