دوره CSS پیشرفته
مهارت طراحی حرفهای و مدرن وب را با تکنیکهای پیشرفته CSS بیاموزید. تبدیل شوید به یک طراح فرانتاند حرفهای با این دوره کامل که تمام مفاهیم پیشرفته CSS را پوشش میدهد.
🎨 آموزش تعاملی CSS پیشرفته
روی هر درس کلیک کنید تا باز شود و محتوای آموزشی را مشاهده کنید. تمام ۹ درس شامل مثالهای تعاملی و تمرینهای عملی هستند.
متغیرهای CSS (Custom Properties)
تعریف و استفاده از متغیرها در CSS
انقلابی در مدیریت استایلها با CSS Variables
متغیرهای CSS (که Custom Properties نیز نامیده میشوند) امکان تعریف مقادیر قابل استفاده مجدد در CSS را فراهم میکنند.
مفهوم کلیدی
متغیرهای CSS با پیشوند -- تعریف میشوند و با تابع var() استفاده میشوند. این متغیرها در سطح عنصر تعریف شده و به صورت ارثی منتقل میشوند.
تمرین تعاملی
نمایش متغیرهای CSS:
تمرین:
یک سیستم طراحی (Design System) با استفاده از متغیرهای CSS ایجاد کنید که شامل رنگها، تایپوگرافی، spacing و shadow باشد. سپس یک دکمه و کارت با استفاده از این متغیرها بسازید.
در :root متغیرهای اصلی را تعریف کنید. سپس با استفاده از var() و color-mix() حالتهای مختلف (hover, active) را ایجاد کنید.
نکات طلایی:
- متغیرهای CSS در :root به صورت سراسری در دسترس هستند
- میتوان متغیرها را در هر سطحی بازنویسی کرد
- از
var(--variable, fallback)برای مقادیر پیشفرض استفاده کنید - متغیرها برای ایجاد تمهای پویا عالی هستند
- میتوان با جاوااسکریپت متغیرها را تغییر داد
آزمون پایان جلسه - متغیرهای CSS
سوال ۱: چگونه یک متغیر CSS تعریف میکنیم؟
سوال ۲: برای تعریف متغیرهای سراسری (global) از چه سلکتوری استفاده میکنیم؟
سوال ۳: چگونه از یک متغیر CSS با مقدار پیشفرض استفاده میکنیم؟
نتایج آزمون
CSS Grid پیشرفته
تکنیکهای پیشرفته Grid Layout
طراحی حرفهای با CSS Grid
CSS Grid یک سیستم چیدمان دو بعدی قدرتمند است که به شما امکان طراحی طرحهای پیچیده را میدهد.
تکنیکهای پیشرفته Grid
نمونه Grid:
تمرین:
یک داشبورد مدیریتی با CSS Grid طراحی کنید که شامل هدر، سایدبار، محتوای اصلی و فوتر باشد. از grid-template-areas برای چیدمان استفاده کنید و طرح را واکنشگرا کنید.
از grid-template-areas برای تعریف مناطق استفاده کنید. با media query برای موبایل چیدمان را به یک ستون تغییر دهید.
نکات طلایی Grid:
auto-fillوauto-fitبرای طرحهای واکنشگرا عالی هستندgrid-template-areasخوانایی کد را افزایش میدهد- از
minmax()برای محدود کردن اندازهها استفاده کنید grid-auto-flow: denseاز ایجاد فضاهای خالی جلوگیری میکند- میتوانید خطوط Grid را نامگذاری کنید
آزمون پایان جلسه - CSS Grid پیشرفته
سوال ۱: تفاوت auto-fill و auto-fit در CSS Grid چیست؟
سوال ۲: برای ایجاد یک طرح Masonry-like از کدام ویژگی استفاده میکنیم؟
سوال ۳: grid-template-areas چه کمکی میکند؟
نتایج آزمون
Flexbox پیشرفته
تکنیکهای حرفهای Flexbox
تکنیکهای حرفهای Flexbox
Flexbox برای چیدمانهای یکبعدی عالی است. در این درس تکنیکهای پیشرفتهای را یاد میگیرید.
Flexbox پیشرفته
نمونه Flexbox:
تمرین:
یک گالری تصاویر واکنشگرا با Flexbox طراحی کنید که تصاویر به صورت masonry چیده شوند و هنگام hover زوم شوند و overlay نمایش داده شود.
از flex-wrap: wrap و flex: 1 1 250px استفاده کنید. برای overlay از position absolute و transition opacity استفاده کنید.
آزمون پایان جلسه - Flexbox پیشرفته
سوال ۱: ویژگی gap در Flexbox چه کاری انجام میدهد؟
سوال ۲: برای ایجاد یک navbar با استفاده از Flexbox، از کدام ویژگی برای فاصله دادن بین آیتمها استفاده میکنیم؟
سوال ۳: flex: 1 1 200px به چه معناست؟
نتایج آزمون
انیمیشنهای CSS پیشرفته
Keyframes، Transitions، Transformations
انیمیشنهای حرفهای CSS
در این درس با تکنیکهای پیشرفته انیمیشن در CSS آشنا میشوید.
مفهوم کلیدی
انیمیشنهای CSS میتوانند تجربه کاربری را به شدت بهبود بخشند. استفاده درست از آنها مهم است تا باعث سردرگمی کاربر نشوند.
نکات طلایی انیمیشن:
- از
@keyframesبرای انیمیشنهای پیچیده استفاده کنید transitionبرای تغییرات ساده مناسب است- از
will-changeبرای بهینهسازی عملکرد استفاده کنید - انیمیشنها را با
prefers-reduced-motionکنترل کنید - از cubic-bezier برای timing functions حرفهای استفاده کنید
آزمون پایان جلسه - انیمیشنهای CSS
سوال ۱: تفاوت اصلی transition و animation چیست؟
سوال ۲: cubic-bezier(0.68, -0.55, 0.265, 1.55) چه نوع انیمیشنی ایجاد میکند؟
سوال ۳: چگونه میتوان انیمیشن را برای کاربرانی که حرکت را دوست ندارند غیرفعال کرد؟
نتایج آزمون
CSS Selectors پیشرفته
Selectorهای پیچیده، Pseudo-classes، Pseudo-elements
انتخابگرهای قدرتمند CSS
در این درس با Selectorهای پیشرفته CSS آشنا میشوید.
نکات طلایی Selectors:
- از
:is()و:where()برای گروهبندی Selectorها استفاده کنید :has()امکان انتخاب والد بر اساس فرزندان را میدهد- Pseudo-classes مانند
:focus-withinو:emptyمفید هستند - از
::beforeو::afterبرای اضافه کردن محتوای دکوراتیو استفاده کنید - Attribute selectors برای انتخاب بر اساس attributeها قدرتمند هستند
آزمون پایان جلسه - Selectors پیشرفته
سوال ۱: تفاوت :is() و :where() چیست؟
سوال ۲: :has() چه کاری انجام میدهد؟
سوال ۳: کدام Selector عناصر فرم معتبر (valid) را انتخاب میکند؟
نتایج آزمون
Responsive Design پیشرفته
تکنیکهای مدرن طراحی واکنشگرا
تکنیکهای مدرن Responsive Design
در این درس با جدیدترین تکنیکهای طراحی واکنشگرا آشنا میشوید.
نکات طلایی Responsive Design:
- از
clamp()برای مقادیر responsive استفاده کنید min()وmax()برای محدود کردن اندازهها مفید هستند- از container queries برای استایلدهی بر اساس اندازه container استفاده کنید
- از viewport units (vw, vh, vmin, vmax) برای اندازههای نسبی استفاده کنید
- با
aspect-ratioنسبت ابعاد را حفظ کنید
آزمون پایان جلسه - Responsive Design
سوال ۱: clamp(1rem, 5vw, 2rem) چه کاری انجام میدهد؟
سوال ۲: Container Queries چه مشکلی را حل میکنند؟
سوال ۳: aspect-ratio: 16 / 9 چه کاری انجام میدهد؟
نتایج آزمون
CSS Functions پیشرفته
calc()، min()، max()، clamp()، color-mix()
توابع قدرتمند CSS
در این درس با توابع پیشرفته CSS آشنا میشوید.
نکات طلایی CSS Functions:
calc()برای محاسبات ریاضی در CSSmin()وmax()برای انتخاب مقادیر حداقلی/حداکثریclamp()برای محدود کردن مقادیر بین حداقل و حداکثرcolor-mix()برای ترکیب رنگهاvar()برای استفاده از متغیرهای CSS
آزمون پایان جلسه - CSS Functions
سوال ۱: color-mix(in srgb, red 30%, blue 70%) چه رنگی ایجاد میکند؟
سوال ۲: تفاوت min(100%, 500px) و max(100%, 500px) چیست؟
سوال ۳: calc(100vh - 80px) چه کاری انجام میدهد؟
نتایج آزمون
بهینهسازی Performance در CSS
تکنیکهای بهبود سرعت و کارایی
بهینهسازی کارایی CSS
در این درس با تکنیکهای بهینهسازی Performance در CSS آشنا میشوید.
نکات طلایی Performance:
- از CSS containment برای محدود کردن scope بازپردازی استفاده کنید
- از
will-changeبرای بهینهسازی انیمیشنها استفاده کنید - از properties کمهزینه مانند
transformوopacityبرای انیمیشن استفاده کنید - از @import کمتر استفاده کنید و فایلها را concatenate کنید
- از Critical CSS برای بهبود First Paint استفاده کنید
آزمون پایان جلسه - Performance
سوال ۱: کدام properties برای انیمیشنهای با کارایی بالا مناسب هستند؟
سوال ۲: contain: layout paint style چه کاری انجام میدهد؟
سوال ۳: Critical CSS چیست؟
نتایج آزمون
CSS برای Accessibility
تکنیکهای طراحی برای دسترسیپذیری
طراحی قابل دسترس (Accessible)
در این درس با تکنیکهای CSS برای بهبود دسترسیپذیری آشنا میشوید.
نکات طلایی Accessibility:
- از
prefers-reduced-motionبرای کاربرانی که حرکت را دوست ندارند استفاده کنید - از
prefers-contrastبرای کاربران نیازمند کنتراست بالا استفاده کنید - از
focus-visibleبرای focus styles بهینه استفاده کنید - از relative units (em, rem) برای اندازههای فونت استفاده کنید
- از color contrast کافی برای خوانایی اطمینان حاصل کنید
آزمون پایان جلسه - Accessibility
سوال ۱: @media (prefers-reduced-motion: reduce) برای چه کاربرانی مفید است؟
سوال ۲: :focus-visible چه زمانی فعال میشود؟
سوال ۳: حداقل contrast ratio برای متن معمولی (normal text) چقدر باید باشد؟
نتایج آزمون
🚀 پروژههای عملی در راه است!
ما به شدت در حال تولید پروژههای عملی برای تسلط کامل بر CSS پیشرفته هستیم:
طراحی سیستم (Design System)
ساخت یک Design System کامل با متغیرهای CSS و کامپوننتهای قابل استفاده مجدد
داشبورد مدیریتی
پیادهسازی یک داشبورد کامل با CSS Grid و Flexbox
فروشگاه آنلاین
طراحی یک فروشگاه مدرن با انیمیشنهای پیشرفته
بازیهای CSS
ساخت بازیهای ساده با استفاده از CSS خالص
پروژهها هر هفته منتشر میشوند!