SD راهنمای سوپردوپر مارکت صفحه معرفی صفحه اصلی قالب

CSS و استایل

لایه‌بندی فایل‌ها

output.css              ابزارهای کمکی Tailwind (از پیش ساخته)
swiper-bundle.min.css   اسلایدر
superium-palettes.css   ← تنها فایلی که رنگ را مقدار می‌دهد
superium.css            ← پایه و همه‌ی کامپوننت‌ها
superium-<گروه>.css     ← فقط همان گروه صفحات

هر صفحه سه فایل اول را می‌گیرد و بعد فایل گروه خودش را: superium-home.css، superium-shop.css، superium-flow.css یا superium-account.css.

توکن‌ها

هیچ رنگی داخل کامپوننت‌ها hard-code نشده. همه از var(--sp-*) می‌آید:

گروهنمونه توکن‌ها
برند--sp-primary، --sp-primary-strong، --sp-primary-soft، --sp-on-primary، --sp-accent
معنایی--sp-success، --sp-danger، --sp-warning، --sp-info
سطح و متن--sp-bg، --sp-surface، --sp-surface-2، --sp-text، --sp-text-soft، --sp-muted، --sp-border
شکل و عمق--sp-radius، --sp-radius-lg، --sp-radius-pill، --sp-shadow، --sp-shadow-md
چیدمان--sp-container، --sp-gutter، --sp-section-y، --sp-header-h
تایپ--sp-font، --sp-font-display
حرکت--sp-ease، --sp-dur

قاعده‌ی راست‌به‌چپ

در استایل‌های قالب هیچ left یا right فیزیکی وجود ندارد. همه‌جا از ویژگی‌های منطقی استفاده شده:

به‌جایبنویسید
width / heightinline-size / block-size
margin-left / margin-rightmargin-inline-start / margin-inline-end
padding-top / padding-bottompadding-block-start / padding-block-end
left: 0; right: 0inset-inline: 0
border-leftborder-inline-start
text-align: righttext-align: start

به این ترتیب اگر روزی نسخه‌ی چپ‌به‌راست خواستید، فقط dir="ltr" کافی است و هیچ CSS‌ای عوض نمی‌شود.

استثنا فقط جایی است که جهت، ذاتیِ خودِ تصویر باشد - مثل تصویر کامیون در بنر ارسال رایگان که در همان جهتی حرکت می‌کند که دماغه‌اش نشان می‌دهد. این موارد در کد کامنت شده‌اند.

نام‌گذاری کلاس‌ها

پیشوندیعنی
sp-قالب فروشگاه - همه‌ی صفحات
d-فقط demo.html
docs-فقط همین مستندات

با حذف demo.html و superium-demo.css، هیچ چیزی از فروشگاه نمی‌شکند.

کامپوننت‌های اصلی در superium.css

فایل با شماره بخش‌بندی شده تا پیدا کردن آسان باشد:

01 فونت و پایه            07 سبد و منوی کاربر        13 بنرها
02 چیدمان و کانتینر       08 نوار ناوبری و مگامنو    14 بردکرامب
03 دکمه‌ها                09 درور موبایل             15 فوتر
04 فرم‌ها                 10 نمایش دسته‌بندی‌ها       16 FAB و پشتیبانی
05 بج، چیپ، پیل           11 کارت کالا               17 توست، مودال، شیت
06 هدر                    12 ریل‌ها و اسلایدر        18 حالت خالی، اسکلتون
                                                     19 ابزارهای کمکی

بخش «۱۰ - نمایش دسته‌بندی‌ها» چهار گونه دارد که هر صفحه‌ی اصلی یکی را استفاده می‌کند: پیل گرد، برد کارتی، کاشی تک‌رنگ و فهرست شماره‌دار.

افزودن کامپوننت تازه

  1. کلاس را با پیشوند sp- بنویسید.
  2. فقط از var(--sp-*) رنگ بگیرید - هیچ رنگ ثابتی ننویسید.
  3. فقط ویژگی منطقی استفاده کنید.
  4. اگر مخصوص یک گروه صفحه است، در superium-<گروه>.css بگذارید؛ اگر عمومی است در superium.css.

نمونه:

.sp-badge--new {
  padding: 3px 10px;
  font-size: 0.6875rem;
  font-weight: 700;
  color: var(--sp-on-primary);
  background: var(--sp-primary);
  border-radius: var(--sp-radius-pill);
}

نکته‌ی مهم ریسپانسیو

روی تصویری که در ستون باریک می‌نشیند هرگز max-inline-size پیکسلی بدون inline-size: 100% نگذارید، و ستون‌های گریدی که تصویر می‌گیرند را با minmax(0, …) تعریف کنید. در غیر این صورت گرید در عرض کم سرریز می‌کند.

حرکت و دسترس‌پذیری

انیمیشن‌ها کوتاه و از توکن --sp-dur و --sp-ease تغذیه می‌شوند، و بخش‌های متحرک با @media (prefers-reduced-motion: reduce) خاموش می‌شوند.

گام بعدی