اهمیت انتخاب پوشش فلزی مناسب در ساندویچ پانل و معرفی انواع ورقها
ساندویچ پانل طی سالهای اخیر به یکی از اصلیترین مصالح در ساخت سازههای صنعتی، سولهها، سردخانهها، سالنهای تولید و ساختمانهای پیشساخته تبدیل شده است. دلیل این محبوبیت مشخص است: وزن کم، مقاومت بالا، سرعت نصب، کاهش مصرف انرژی و طول عمر زیاد.
اما یک نکته مهم را نباید نادیده گرفت؛ کیفیت و نوع ورق استفادهشده در ساندویچ پانل، نقش تعیینکنندهای در عملکرد نهایی آن دارد.
ورق بیرونی و داخلی پانل در واقع سپر اصلی سازه در برابر عوامل محیطی است؛
اگر این ورق کیفیت خوبی نداشته باشد یا با شرایط اقلیمی پروژه سازگار نباشد، مشکلاتی مثل موارد زیر بسیار محتمل خواهند بود:
- زنگزدگی و خوردگی
- تغییر رنگ و پوستهشدن رنگ
- کاهش استحکام سازه
- نفوذ رطوبت
- کاهش عمر مفید کل پانل
به همین دلیل، تولیدکنندگان معتبر مثل کیمیاپانل از ورقهای استاندارد مانند آلوزینک، گالوانیزه و آلومینیوم استفاده میکنند تا پانل در برابر شرایط مختلف آبوهوایی مقاومت بالایی داشته باشد.
در ادامه، تمام ورقهای رایج در صنعت ساندویچ پانل را معرفی و از نظر دوام، قیمت، کارایی و مناسببودن برای پروژهها بررسی میکنیم.
۱. ورق گالوانیزه؛ اقتصادی و مقاوم در برابر زنگزدگی
ورق گالوانیزه یکی از رایجترین ورقها در بازار ایران است که با پوشش «روی (Zinc)» در برابر زنگزدگی مقاوم شده و برای پروژههای متنوع بهکار میرود.
✔ مزایای ورق گالوانیزه
- قیمت اقتصادی
- مقاومت قابلقبول در برابر رطوبت
- موجودی بالا در بازار
- قابلیت رنگکشی و فرمدهی آسان
به همین دلیل، بسیاری از پروژهها مانند سولههای کارگاهی، انبارها، کانکسهای کارگری و سازههای موقت ازساندویچ پانل گالوانیزه استفاده میکنند.
✔ محدودیتها
- مقاومت کمتر نسبت به آلوزینک در مناطق مرطوب
- تغییر رنگ سریعتر در شرایط آفتاب مستقیم
- حساسیت بیشتر در برابر محیطهای اسیدی
اگرچه گالوانیزه گزینه خوبی است، اما در پروژههایی که سازه در معرض رطوبت بالا، بارانهای اسیدی یا شرایط صنعتی سنگین قرار دارد، انتخاب ورقهای تخصصیتر پیشنهاد میشود.
۲. ورق آلوزینک؛ بهترین گزینه از نظر ماندگاری و مقاومت
آلوزینک (Aluzinc یا GL) ترکیبی است از:
۵۵٪ آلومینیوم + ۴۳٪ روی + ۲٪ سیلیس
این ترکیب باعث شده ورق آلوزینک نسبت به گالوانیزه مقاومت بسیار بالاتری در برابر خوردگی و زنگزدگی داشته باشد.
✔ چرا آلوزینک بهترین انتخاب است؟
- ۳ تا ۵ برابر مقاومت بیشتر نسبت به گالوانیزه
- ماندگاری بسیار بالا در محیطهای صنعتی، ساحلی و گرمسیری
- مقاومت عالی در برابر اشعه UV
- وزن سبکتر
- زیبایی ظاهری بیشتر
ورق آلوزینک معمولاً برای ساندویچ پانلهایی که هدفشان طول عمر بالا و قرارگیری طولانی در محیط خارجی است استفاده میشود، ازجمله:
- سولههای صنعتی بزرگ
- سالنهای مرغداری و دامداری
- ساختمانهای پیشساخته
- سردخانههای صنعتی
- سالنهای ورزشی و نمایشگاهی
کیمیاپانل در بسیاری از تولیدات خود، از ورق آلوزینک اصل کرهای و چینی درجهیک و فولاد ایران استفاده میکند تا پانلها دوام واقعی و طول عمر بالا داشته باشند.
۳. ورق آلومینیوم؛ سبک و مقاوم در برابر رطوبت
ورق آلومینیوم یکی از بهترین گزینهها برای پروژههایی است که:
- در معرض رطوبت دایمی هستند
- نیاز به وزن بسیار سبک دارند
- با مواد خورنده یا بخارهای شیمیایی در تماساند
به همین دلیل، پانل آلومینیومی بیشتر در فضاهای زیر استفاده میشود:
- سردخانههای بزرگ
- کارخانجات مواد غذایی
- کارگاههای فرآوری ماهی و گوشت
- سالنهای پرورش قارچ
- مناطق ساحلی و شرجی
✔ مزایای آلومینیوم
- کاملاً ضدزنگ
- وزن بسیار پایین
- انعطافپذیری بالا
- امکان شستشو با مواد قوی ضدعفونیکننده
- عدم واکنش با اکثر مواد شیمیایی
✔ محدودیتها
- نسبت به ورق آلوزینک، استحکام کمتری دارد
- قیمت بالاتر
به همین دلیل معمولاً در ترکیب با پانل پلییورتان استفاده میشود تا استحکام کلی سازه بالا بماند.
۴. ورق استیل؛ انتخاب تخصصی برای فضاهای بهداشتی و صنعتی خاص
اگرچه بهندرت در پروژههای عمومی استفاده میشود، اما ورق استیل برای محیطهایی که نیاز به بهداشت مطلق، مقاومت شیمیایی بسیار بالا و شستشوی مداوم دارند بهترین انتخاب است.
ازجمله کاربردها:
- صنایع دارویی
- اتاق تمیز (Clean Room)
- صنایع لبنیات و نوشیدنی
- مراکز بستهبندی مواد غذایی
- سالنهای فرآوری گوشت
ورق استیل زنگ نمیزند، بو نمیگیرد و بسیار بادوام است، اما به دلیل قیمت بالا، معمولاً فقط برای پوشش داخلی پانل استفاده میشود.
۵. چرا انتخاب ورق درست در ساندویچ پانل حیاتی است؟
یکی از اشتباهات رایج در پروژهها، انتخاب ورق صرفاً بر اساس قیمت است؛ در حالیکه ورق نامناسب میتواند باعث:
- کاهش عمر مفید سازه
- افزایش هزینه تعمیرات
- نفوذ رطوبت و باد
- تخریب سریع پوشش
- کاهش کارایی عایق حرارتی
شود.
در مقابل، انتخاب صحیح ورق میتواند:
- هزینه انرژی را کاهش دهد
- عمر سازه را افزایش دهد
- هزینههای نگهداری را به حداقل برساند
- از زنگزدگی و پوسیدگی جلوگیری کند
امروزه تولیدکنندگانی مانند کیمیاپانل، با ارائه پانلهای پلییورتان دارای ورق آلوزینک، گالوانیزه و آلومینیوم، امکان انتخاب دقیق براساس شرایط آبوهوایی و نوع کاربری پروژه را فراهم کردهاند.
مقایسه تخصصی ورقهای ساندویچ پانل و انتخاب بهترین گزینه برای پروژه
در ادامه، بهصورت فنی و دقیق انواع ورقهای استفادهشده در ساندویچ پانل را با هم مقایسه میکنیم تا مشخص شود هر پروژه به چه نوع ورقی نیاز دارد و کدام گزینه بالاترین بازده را ارائه میدهد.
۱. مقایسه از نظر مقاومت در برابر خوردگی
۱) گالوانیزه
پوشش روی (Zinc) باعث میشود ورق گالوانیزه مقاومت قابلقبولی در برابر رطوبت داشته باشد، اما در مناطق زیر مخصوصاً آسیبپذیر است:
- شهرهای ساحلی
- محیطهای صنعتی با بخارهای شیمیایی
- سالنهای دامداری با گاز آمونیاک
- محیطهای با رطوبت بالای ۷۰٪
به همین دلیل گالوانیزه یک گزینه عمومی است؛ اما نه گزینه ایدهآل.
۲) آلوزینک
بهجرأت میتوان گفت آلوزینک در برابر تمامی عوامل محیطی مقاومترین ورق اقتصادی بازار است.
مزیت اصلی آلوزینک مقاومت همزمان در برابر سه عامل است:
- رطوبت
- UV
- شرایط صنعتی خورنده
لایه ۵۵٪ آلومینیوم باعث میشود خوردگی از سطح ورق حرکت نکند و نقطهای پیشرفت نکند، این همان چیزی است که عمر این ورق را چندین برابر افزایش میدهد.
۳) آلومینیوم
آلومینیوم در برابر رطوبت تقریباً نفوذناپذیر است و اصلاً زنگ نمیزند.
اما در برابر ضربه بهاندازه ورق آلوزینک قوی نیست، بنابراین همیشه توصیه میشود:
پانل آلومینیومی حتماً با فوم پلییورتان تزریقشده ترکیب شود.
۴) استیل
اگر پروژهای دارید که دائماً شستشو، ضدعفونی، گرما-سرمای ناگهانی و مواد شیمیایی دارد، ساندویچ پانل با ورق استیل تنها انتخاب واقعی است.
نمونه پروژهها:
- اتاقهای تمیز
- کارخانجات دارویی و لبنی
- سالنهای فرآوری گوشت
استیل در برابر اسید، سود، کلر و حتی بخارهای خورنده مقاوم است و ساختارش تغییر نمیکند.
۲. مقایسه از نظر طول عمر مفید
- گالوانیزه: ۱۰ تا ۱۵ سال
- آلوزینک: ۲۵ تا ۴۰ سال
- آلومینیوم: ۳۰ سال به بالا
- استیل: عملاً مادامالعمر اگر ضربه مکانیکی وارد نشود
این اعداد در استانداردهای جهانی ثبت شدهاند و کاملاً نتیجه تستهای محیطی هستند.
نکته مهم این است که:
طول عمر پانل = طول عمر ورق
یعنی اگر ورق خراب شود کل پانل باید تعویض شود.
بنابراین انتخاب ورق اشتباه ممکن است هزینه کل پروژه را چندین برابر کند.
۳. مقایسه از نظر وزن و سهولت نصب
یکی از دلایل محبوبیت پانلها، سرعت نصب بالا و کاهش بار مرده سازه است.
وزن هر ورق تأثیر مستقیم روی سرعت نصب، میزان مصرف پیچ و بار فریم سازه دارد.
- آلومینیوم: سبکترین
- آلوزینک: سبک + مقاوم
- گالوانیزه: کمی سنگینتر
- استیل: سنگینترین
در پروژههایی که سرعت نصب بسیار مهم است (مانند سولههای اضطراری، سالنهای پیشساخته سریع یا کارگاههای موقت)، ورقهای آلوزینک و آلومینیوم بهترین عملکرد را دارند.
۴. مقایسه از نظر زیبایی و کیفیت رنگ
در ساندویچ پانل، ورق قبل از تبدیلشدن به پانل با رنگ کورهای (Coil Coating) پوشیده میشود.
نوع ورق روی کیفیت رنگ تأثیر مستقیم دارد.
کیفیت ظاهری از بهترین به متوسط:
۱. آلوزینک رنگی (بیشترین درخشندگی و ماندگاری رنگ)
2. آلومینیوم رنگی
3. استیل خشدار یا براق (رنگ ندارد، ولی ظاهر لوکس دارد)
4. گالوانیزه رنگی
آلوزینک رنگی در مقابل UV بیشترین مقاومت را دارد و دیرتر گچی یا کدر میشود.
۵. انتخاب ورق بر اساس اقلیم و نوع پروژه
الف) مناطق ساحلی یا شرجی (شمال و جنوب ایران)
✔ بهترین گزینه: آلوزینک یا آلومینیوم
✔ گزینه قابل قبول: گالوانیزه ضخیمشده (اما عمر کمتر)
✘ پیشنهاد نمیشود: گالوانیزه معمولی
ب) مناطق گرم و آفتابی (مرکزی، کویری)
✔ بهترین گزینه: ساندویچ پانل آلوزینک رنگی به دلیل مقاومت بالا در برابر آفتاب
✔ گزینه جایگزین: گالوانیزه رنگی
ج) مناطق کوهستانی و سردسیر
✔ بهترین گزینه: آلوزینک + فوم پلییورتان
✔ مناسب: آلومینیوم
— دلیل: انقباض و انبساط کمتر، عدم ترک خوردن رنگ
د) محیطهای صنعتی (بخار اسید، آمونیاک، مواد خورنده)
✔ بهترین گزینه: استیل
✔ جایگزین اقتصادی: آلومینیوم
ه) سالنهای ورزشی، سوله تولید، کارخانهها، انبارها
✔ بهترین گزینه: پانل آلوزینک
✔ گزینه اقتصادی: گالوانیزه
۶. ضخامت ورق؛ یک فاکتور حیاتی اما کمتر گفتهشده
ضخامت ورق معمولاً بین ۰.۴ تا ۰.۷ میلیمتر است.
بهترین حالت برای دیوار:
- ۰.4 یا ۰.5
بهترین حالت برای سقف:
- ۰.5 یا ۰.6
(چون سقف در معرض بار برف و ضربه تگرگ قرار دارد)
تولیدکنندگان معتبر مانند کیمیاپانل ضخامت واقعی و استاندارد ارائه میدهند، ولی متأسفانه در بازار برخی ورقها ضخامت اسمی دارند و واقعی نیستند.
این موضوع هم بر استحکام تأثیر دارد و هم روی طول عمر.
۷. فوم داخلی؛ تأثیر ورق بر کارایی عایق
اگرچه موضوع اصلی مقاله ورق است، اما نقش ورق در عملکرد فوم هم بسیار مهم است.
- ورق ضعیف → جداشدن تدریجی از فوم → ایجاد پل حرارتی
- ورق مقاوم مثل آلوزینک → اتصال پایدار به فوم → عایقکاری بهتر
بنابراین ورق باکیفیت باعث میشود پانل:
- حرارت را کمتر عبور دهد
- عمر فوم بیشتر شود
- نفوذ صدا و رطوبت کاهش یابد
به همین دلیل است که تولیدکنندگانی مانند کیمیاپانل تأکید دارند فوم پلییورتان واقعی (۲ کیلوگرم در متر مکعب) با ورق استاندارد ترکیب شود.
# راهنمای CSS و سیستم طراحی (CSS Guidelines & Design System)
این سند مشخص میکند استایلهای **Agelcy Elementor Kit** چطور نوشته میشوند تا:
1. کاملاً با Design System المنتور (Global Colors, Global Fonts, Theme Style) همخوان باشند،
2. در هر دو حالت **Legacy Section/Column** و **Flexbox Container** بدون تداخل کار کنند،
3. هیچ تداخلی با قالب و پلاگینهای دیگر نداشته باشند (Zero-Conflict),
4. سبک، قابل نگهداری و قابلپیشبینی باقی بمانند.
—
## ۱. معماری CSS و اسکوپ (Architecture & Scope)
ما در محیطی کار میکنیم که:
– قالب استایل خودش را دارد،
– المنتور Theme Style و Global Style خودش را دارد،
– پلاگینهای دیگر هم روی همان صفحه CSS میریزند.
پس قوانین پایه:
1. **همهچیز Scoped است**
هیچ استایلی بدون اسکوپ روی تگهای عمومی (`html`, `body`, `h1–h6`, `p`, `a`, `img`, `button`, …) نوشته نمیشود.
2. **BEM + Prefix اجباری است**
– Block: `.ag-hero`, `.ag-card`, `.ag-pricing`
– Element: `.ag-hero__title`, `.ag-card__media`
– Modifier: `.ag-hero–compact`, `.ag-card–featured`
3. **در المنتور همیشه از `{{WRAPPER}}` استفاده میکنیم**
در Style Controls، استایلها باید با `{{WRAPPER}}` اسکوپ شوند تا فقط روی همان نمونهی ویجت اعمال شوند، مطابق توصیهی رسمی المنتور.
“`php
$this->add_control(
‘title_color’,
[
‘label’ => __( ‘رنگ عنوان’, ‘agelcy-elementor-kit’ ),
‘type’ => \Elementor\Controls_Manager::COLOR,
‘selectors’ => [
‘{{WRAPPER}} .ag-hero__title’ => ‘color: {{VALUE}};’,
],
]
);
{{WRAPPER}} به ریشهی همین ویجت (.elementor-widget-ag-hero) اشاره میکند؛
یعنی استایل روی بقیهی Heroهای صفحه اعمال نمیشود.
قاعدهٔ طلایی:
هیچ CSS افزونه نباید خارج از {{WRAPPER}} یا کلاسهای Prefixدار خودش، چیزی را هدف بگیرد.
۱.۱. سازگاری با Flexbox Container و Legacy Section
المنتور الان دو مدل layout دارد:
Legacy Sections / Columns
Flexbox Containers (Container Widget)
قوانین Agelcy برای سازگاری ۱۰۰٪:
ویجت همیشه بهعنوان یک Flex Item رفتار میکند، نه Flex Container اصلی صفحه
روت ویجت ({{WRAPPER}}) در Container، یک flex item است.
ما نباید با display:flex روی روت، رفتار Container والد را override کنیم.
Layout داخلی ویجت روی یک Wrapper داخلی انجام میشود
توصیه میشود همیشه inner wrapper داشته باشیم:
html
Copy code
<div class=”ag-hero”>
<div class=”ag-hero__inner”>
<!– محتوا –>
</div>
</div>
{{WRAPPER}} .ag-hero = flex item
.ag-hero__inner = جایی که اگر لازم بود display:flex و alignment داخلی میگذاریم.
روی روت ({{WRAPPER}} / .ag-hero) از اینها پرهیز کن:
display: flex برای layout اصلی،
position: absolute بدون دلیل جدی،
float برای چیدمان.
اینها باید روی عناصر داخلی (.ag-hero__inner, .ag-hero__actions, …) اعمال شوند.
در Style Controls، alignment اصلی را به Container بسپار
تا جای ممکن از کنترلهایی استفاده کن که نتیجهشان با Flex Container هماهنگ است (مثلاً width:100%, max-width، text-align).
اگر نیاز به کنترل پیشرفتهتر مثل align-self یا flex-grow برای روت ویجت باشد، این تنظیمات حتماً باید:
در تب Advanced / Layout با label شفاف قرار بگیرند،
و در Legacy Section هم رفتار منطقی داشته باشند (مثلاً صرفاً width را تغییر دهند).
تست اجباری برای هر ویجت:
یک صفحه با Legacy Section/Column → ویجت را تست کن.
یک صفحهی دیگر فقط با Container → همان ویجت را تست کن.
در هر دو:
alignment، فاصلهها و wrap نباید بهم بریزند،
ویجت نباید باعث شود سایر آیتمهای Container غیرمنتظره wrap یا فشرده شوند (مشکل رایج flex).
۲. همخوانی کامل با Design System المنتور
اصل طلایی این فایل:
Agelcy هیچ سیستم رنگ/فونت جداگانهای ندارد.
هرچه رنگ و فونت است از Elementor Site Settings → Global Colors & Fonts + Theme Style میآید.
۲.۱. رنگها (Colors)
المنتور Global Colors را به صورت CSS Variable روی ریشهی صفحه تعریف میکند، مثلاً:
css
Copy code
–e-global-color-primary
–e-global-color-secondary
–e-global-color-text
–e-global-color-accent
ما:
برای رنگهای اصلی ویجتها هیچ hex ثابت (#2563eb, #f97316, …) بهعنوان default نمیگذاریم.
یا مستقیماً از Global Colors المنتور استفاده میکنیم،
یا از Color Control المنتور استفاده میکنیم که خودش Global Color را inject میکند.
دو سناریوی مجاز:
الف) استفاده مستقیم از Global (بدون کنترل) – فقط در موارد خیلی ساده
css
Copy code
.ag-hero__title {
color: var(–e-global-color-primary);
}
ب) استفاده از Color Control المنتور (توصیهشده)
php
Copy code
$this->add_control(
‘title_color’,
[
‘label’ => __( ‘رنگ عنوان’, ‘agelcy-elementor-kit’ ),
‘type’ => \Elementor\Controls_Manager::COLOR,
‘selectors’ => [
‘{{WRAPPER}} .ag-hero__title’ => ‘color: {{VALUE}};’,
],
]
);
المنتور خودش Global Colors را به Color Picker اضافه میکند.
وقتی کاربر Global Primary را انتخاب کند، {{VALUE}} برابر var(–e-global-color-primary) میشود.
نتیجه:
از دید CSS ما، رنگ همیشه یا از Global Colors المنتور است، یا مستقیم از Value انتخابشده در کنترل Color میآید.
هیچ «سیستم رنگ موازی» در Agelcy وجود ندارد.
۲.۲. تایپوگرافی (Fonts & Typography)
قانون:
بهصورت پیشفرض، هیچ font-family, font-size, line-height, font-weight جدیدی را hard-code نمیکنیم.
اجازه میدهیم Theme Style و Global Fonts المنتور کارشان را بکنند.
اگر ویجت نیاز به کنترل تایپو دارد (مثلاً تیتر Hero یا عدد قیمت):
php
Copy code
$this->add_group_control(
\Elementor\Group_Control_Typography::get_type(),
[
‘name’ => ‘title_typography’,
‘label’ => __( ‘تایپوگرافی عنوان’, ‘agelcy-elementor-kit’ ),
‘selector’ => ‘{{WRAPPER}} .ag-hero__title’,
]
);
کاربر میتواند Global Fonts را انتخاب کند و المنتور CSS لازم را تولید میکند.
قاعده:
ما scale تایپو را اختراع نمیکنیم؛ از Group_Control_Typography استفاده میکنیم و تصمیم را به Theme Style / Global Fonts میسپاریم.
۳. توکنهای لوکال (Local Tokens) – فقط برای Layout
ما میتوانیم توکنهای داخلی (CSS Variable) برای layout هر ویجت داشته باشیم، اما:
فقط برای چیزهایی مثل فاصله، radius، shadow، max-width داخلی،
نه برای رنگ و فونت (چون آنها از المنتور میآیند).
۳.۱. چه چیزهایی میتوانند Token بشوند؟
مواردی که به «هویت بصری برند» وابسته نیستند یا هنوز المنتور برایشان Global ندارد:
فاصلهها: gap, padding, margin داخلی ویجت
radius کارتها و بلوکها
سایهها
حداکثر عرض container داخلی
مثال:
css
Copy code
.ag-hero {
/* توکنهای لوکال مربوط به layout */
–ag-hero-radius: 1.5rem;
–ag-hero-padding-block: 2.5rem;
–ag-hero-padding-inline: 1.75rem;
–ag-hero-max-width: 1120px;
max-width: var(–ag-hero-max-width);
margin-inline: auto;
}
css
Copy code
.ag-hero__inner {
border-radius: var(–ag-hero-radius);
padding-block: var(–ag-hero-padding-block);
padding-inline: var(–ag-hero-padding-inline);
}
۳.۲. چه چیزهایی نباید Token بشوند؟
رنگهای اصلی:
❌ –ag-color-primary, –ag-color-accent
✅ استفاده مستقیم از Global Colors یا مقدار Color Control المنتور.
font-size / font-family / line-height:
❌ –ag-font-size-xl: 1.5rem;
✅ استفاده از Theme Style و Group_Control_Typography.
ممنوع: تعریف توکنهای Agelcy روی :root.
اگر لازم شد توکن سراسری داشته باشیم، روی یک container اختصاصی مثل .agelcy-kit-root یا خود ویجت تعریف میکنیم، نه روی کل سایت.
۴. نمونهی Hero با Layout سازگار با Container
در این مثال:
.ag-hero = flex item (توسط Container یا Column کنترل میشود)
.ag-hero__inner = layout داخلی ویجت (flex)
css
Copy code
/* ریشه ویجت Hero */
.ag-hero {
–ag-hero-radius: 1.5rem;
–ag-hero-padding-block: 2.5rem;
–ag-hero-padding-inline: 1.75rem;
–ag-hero-max-width: 1120px;
max-width: var(–ag-hero-max-width);
margin-inline: auto;
}
/* wrapper داخلی که flex میشود */
.ag-hero__inner {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 1.75rem;
background-color: var(–e-global-color-7deaba8, #ffffff); /* یک Global Surface Color */
border-radius: var(–ag-hero-radius);
padding-block: var(–ag-hero-padding-block);
padding-inline: var(–ag-hero-padding-inline);
}
/* تیتر – فونت و سایز از Theme Style / Typography Control، فقط margin را تنظیم میکنیم */
.ag-hero__title {
margin-block-end: 0.75rem;
}
/* زیرعنوان */
.ag-hero__subtitle {
margin-block-end: 1.25rem;
opacity: .9;
}
/* بخش دکمهها */
.ag-hero__actions {
display: flex;
flex-wrap: wrap;
gap: 0.75rem;
}
/* دکمه اصلی – رنگ از Color Control المنتور (Global قابل انتخاب) میآید */
.ag-hero__button {
display: inline-flex;
align-items: center;
justify-content: center;
padding: 0.85rem 1.8rem;
border-radius: 999px;
border: none;
text-decoration: none;
cursor: pointer;
}
در Controls این ویجت، مثلاً:
php
Copy code
// رنگ دکمه – کاربر میتواند Global Primary/Accent را انتخاب کند
$this->add_control(
‘primary_button_bg’,
[
‘label’ => __( ‘رنگ پسزمینه دکمه اصلی’, ‘agelcy-elementor-kit’ ),
‘type’ => \Elementor\Controls_Manager::COLOR,
‘selectors’ => [
‘{{WRAPPER}} .ag-hero__button–primary’ => ‘background-color: {{VALUE}};’,
],
]
);
اگر کاربر Global Primary را انتخاب کند، {{VALUE}} میشود var(–e-global-color-primary).
۵. RTL و CSS Logical Properties
چون پروژه RTL-First است، اما باید در LTR هم سالم باشد، حتماً از CSS Logical Properties استفاده میکنیم:
❌ margin-left, margin-right
✅ margin-inline-start, margin-inline-end
❌ padding-left, padding-right
✅ padding-inline-start, padding-inline-end
مثال:
css
Copy code
.ag-hero__eyebrow {
margin-inline-end: 0.75rem;
}
در LTR ≈ margin-right
در RTL ≈ margin-left
برای جهت فلشها و آیکونهای جهتدار:
css
Copy code
[dir=”rtl”] .ag-icon–arrow {
transform: scaleX(-1);
}
بدون نیاز به دو نسخهی جداگانهی CSS برای RTL/LTR.
۶. Anti-Patterns (کارهایی که نباید انجام دهیم)
۱. تعریف سیستم رنگ مستقل
css
Copy code
/* ❌ اشتباه */
:root {
–ag-color-primary: #2563eb;
}
.ag-button {
background-color: #2563eb;
}
css
Copy code
/* ✅ درست */
.ag-button–primary {
/* از Global Colors یا Color Control المنتور میآید */
/* background-color از کنترل Color میآید */
}
۲. تعریف font-size مستقل برای Headingهای اصلی
css
Copy code
/* ❌ اشتباه */
.ag-hero__title {
font-size: 2.5rem;
font-family: ‘Some Font’, sans-serif;
}
css
Copy code
/* ✅ درست */
.ag-hero__title {
margin-block-end: 0.75rem;
/* فونت و سایز از Theme Style / Group_Control_Typography میآید */
}
۳. استایلدادن روی Tagهای عمومی
css
Copy code
/* ❌ اشتباه */
h2 {
margin-bottom: 1.5rem;
}
css
Copy code
/* ✅ درست */
.ag-section-title {
margin-block-end: 1.5rem;
}
و سپس در المنتور این کلاس روی Heading اعمال شود یا ویجت خودش این کلاس را تولید کند.
۴. استفاده از !important برای حل تداخل
css
Copy code
/* ❌ اشتباه */
.ag-hero__title {
color: var(–e-global-color-primary) !important;
}
css
Copy code
/* ✅ درست */
.ag-hero .ag-hero__title {
/* specificity منطقی + استفاده از {{WRAPPER}} در استایلهای المنتور */
}
۵. استفاده از :root برای Tokenهای Agelcy
css
Copy code
/* ❌ اشتباه */
:root {
–ag-radius-xl: 24px;
}
css
Copy code
/* ✅ درست */
.agelcy-kit-root {
–ag-radius-xl: 24px;
}
/* یا حتی بهتر: روی خود ویجت */
.ag-hero {
–ag-radius-xl: 24px;
}
۷. چکلیست نهایی CSS
قبل از اینکه بگیم «ویجت از نظر CSS تمام شد»، این موارد را چک کن:
هیچ استایلی روی تگهای عمومی (body, html, a, h1–h6, p, img, …) خارج از اسکوپ ویجت نوشته نشده.
برای رنگها از Global Colors/Color Controls المنتور استفاده شده، نه hex ثابت یا سیستم رنگ موازی.
برای فونتها از Theme Style/Global Fonts و Group_Control_Typography استفاده شده، نه مقادیر hard-coded.
هیچ CSS متکی به :root برای Tokenهای Agelcy وجود ندارد؛ توکنها روی ویجت یا کانتینر اختصاصی تعریف شدهاند.
تمام کلاسها Prefix مناسب (.ag- / .agelcy-) دارند و BEM رعایت شده.
استایلها در المنتور با {{WRAPPER}} اسکوپ شدهاند.
ویجت در RTL و LTR بدون استایل جداگانهی عجیب درست نمایش داده میشود (با کمک Logical Properties).
هیچ استفادهی غیرضروری از !important نشده.
ویجت در هر دو حالت Legacy Section/Column و Flexbox Container تست شده و رفتار Flex Parent را بر هم نمیزند.
کد CSS خواناست، تکرار غیرضروری ندارد و از نظر حجم با Budget سند ۰۵ (Performance) سازگار است.
این سند باید به عنوان مرجع اصلی برای تمام تصمیمات CSS در Agelcy Elementor Kit استفاده شود.
اگر در جایی نیاز بود بر خلاف این اصول عمل کنی، باید دلیل فنی قوی داشته باشی و تغییر در docs/ مستندسازی شود.




