در طراحی UI خیلی وقتها فقط با یک تغییر ساده در رنگ میشود رفتار و وضعیت یک کامپوننت را برای کاربر کاملاً شفاف کرد. یکی از مهمترین جاها، دکمهها (Buttons) و حالتهای مختلفشان است.
🟢 ایده:
برای هر حالت (State) دکمه، یک رنگ و استایل مشخص و سازگار در کل محصول داشته باش:
• حالت عادی (Default)
• حالت Hover / Pressed
• حالت Disabled
• حالت Error / Destructive
این کار باعث میشود کاربر بدون فکر اضافه، فقط با دیدن رنگ و کنتراست، متوجه شود کدام اکشن فعال، غیرفعال یا خطرناک است.
✅ مثال عملی (بر اساس Material Design):
• Action اصلی: رنگ پر (Filled) با کنتراست بالا نسبت به پسزمینه
• Secondary: حاشیهدار (Outlined) با رنگ ملایمتر
• دکمه خطرناک (Delete): قرمز با کنتراست بالا
• Disabled: کاهش Opacity تا جایی که هنوز خوانا باشد ولی واضحاً غیرقابلکلیک بهنظر برسد
نمونه توصیفی ساده برای یک Button System:
✨ چند نکته UX مهم:
• برای حالت Disabled فقط به Opacity تکیه نکن؛ کنتراست متن را هم چک کن که با WCAG حداقل > 3.0 در حالت خوانا باشد.
• رنگهای Action اصلی و خطرناک را خیلی به هم نزدیک انتخاب نکن تا کاربر در لحظه اشتباه کلیک نکند.
• در تمام صفحات از یک System ثابت استفاده کن؛ Primary امروز آبی و فردا بنفش نشود.
🔍 منبع پیشنهادی برای دیدن مثالهای خوب:
راهنمای Buttons در Material Design 3
امروز اگر در Figma یک Style کوچک برای رنگهای State بسازی، فردا در کل Design System وقت و انرژی زیادی ذخیره میشود و رفتار UI برای کاربر قابلپیشبینی و قابلاعتماد میماند.
🔖 #Design #طراحی #UI #UX #UI #UX #Color #Design_System #Buttons
👤 Developix
💎 Channel: @DevelopixDesign
🟢 ایده:
برای هر حالت (State) دکمه، یک رنگ و استایل مشخص و سازگار در کل محصول داشته باش:
• حالت عادی (Default)
• حالت Hover / Pressed
• حالت Disabled
• حالت Error / Destructive
این کار باعث میشود کاربر بدون فکر اضافه، فقط با دیدن رنگ و کنتراست، متوجه شود کدام اکشن فعال، غیرفعال یا خطرناک است.
✅ مثال عملی (بر اساس Material Design):
• Action اصلی: رنگ پر (Filled) با کنتراست بالا نسبت به پسزمینه
• Secondary: حاشیهدار (Outlined) با رنگ ملایمتر
• دکمه خطرناک (Delete): قرمز با کنتراست بالا
• Disabled: کاهش Opacity تا جایی که هنوز خوانا باشد ولی واضحاً غیرقابلکلیک بهنظر برسد
نمونه توصیفی ساده برای یک Button System:
Primary: #2962FF (Default)
Primary: #0039CB (Pressed)
Primary: rgba(41,98,255,0.12) (Disabled bg)
Danger: #D32F2F (Default)
Danger: #9A0007 (Pressed)
Text on Btn: #FFFFFF
✨ چند نکته UX مهم:
• برای حالت Disabled فقط به Opacity تکیه نکن؛ کنتراست متن را هم چک کن که با WCAG حداقل > 3.0 در حالت خوانا باشد.
• رنگهای Action اصلی و خطرناک را خیلی به هم نزدیک انتخاب نکن تا کاربر در لحظه اشتباه کلیک نکند.
• در تمام صفحات از یک System ثابت استفاده کن؛ Primary امروز آبی و فردا بنفش نشود.
🔍 منبع پیشنهادی برای دیدن مثالهای خوب:
راهنمای Buttons در Material Design 3
امروز اگر در Figma یک Style کوچک برای رنگهای State بسازی، فردا در کل Design System وقت و انرژی زیادی ذخیره میشود و رفتار UI برای کاربر قابلپیشبینی و قابلاعتماد میماند.
🔖 #Design #طراحی #UI #UX #UI #UX #Color #Design_System #Buttons
👤 Developix
💎 Channel: @DevelopixDesign
👍6🔥1
Forwarded from BehinSMS (Taknet support)
Please open Telegram to view this post
VIEW IN TELEGRAM
👎2❤1
وقتی رنگ متن و پسزمینه بهخوبی از هم جدا نباشند، حتی یک طراحی شیک هم شلخته و خستهکننده دیده میشود. کنتراست درست، هم ظاهر رو بهتر میکند هم تجربه کاربری رو؛ مخصوصاً روی موبایل و زیر نور زیاد ☀️
ایده اصلی 🧠
برای متنهای اصلی (Body) و متنهای کوچک، بهتره نسبت کنتراست بین رنگ متن و پسزمینه طبق WCAG حداقل اینها باشد:
• متن نرمال: نسبت کنتراست حداقل 4.5:1
• متن بزرگ (حداقل 18pt یا Bold 14pt): حداقل 3:1
ترفند عملی در Design Tool 🧰
در Figma یا ابزارهای مشابه، قبل از نهایی کردن رنگها، سریع آنها را با یک اسکریپت ساده تست کنتراست کن. حتی اگر برنامهنویس نباشی، این منطق کمک میکند ترکیبهای «خطرناک» را بشناسی.
نمونه در Python برای محاسبه کنتراست بین دو رنگ Hex:
چند نکته UI/UX ✅
• خاکستریهای خیلی روشن روی پسزمینه سفید، معمولاً برای متن ریز شکست میخورند.
• برای حالت Disabled، بهتر است کنتراست را ضعیفتر کنی اما نه آنقدر که کاملاً ناخوانا شود.
• روی لایت و دارک تم جداگانه کنتراست را چک کن؛ یک رنگ ممکن است در Light عالی باشد ولی در Dark افتضاح.
در پروژه بعدی، قبل از تحویل، فقط ۵ دقیقه برای چک کنتراست بگذار؛ تأثیرش روی حس حرفهای بودن طراحی خیلی زیاد است ✨
مرجع پیشنهادی (طبق WCAG 2.1):
Contrast Minimum – W3C
🔖 #Design #طراحی #UI #UX #UI #UX #Color #Contrast #Accessibility #Design
👤 Developix
💎 Channel: @DevelopixDesign
ایده اصلی 🧠
برای متنهای اصلی (Body) و متنهای کوچک، بهتره نسبت کنتراست بین رنگ متن و پسزمینه طبق WCAG حداقل اینها باشد:
• متن نرمال: نسبت کنتراست حداقل 4.5:1
• متن بزرگ (حداقل 18pt یا Bold 14pt): حداقل 3:1
ترفند عملی در Design Tool 🧰
در Figma یا ابزارهای مشابه، قبل از نهایی کردن رنگها، سریع آنها را با یک اسکریپت ساده تست کنتراست کن. حتی اگر برنامهنویس نباشی، این منطق کمک میکند ترکیبهای «خطرناک» را بشناسی.
نمونه در Python برای محاسبه کنتراست بین دو رنگ Hex:
def luminance(r, g, b):
c = [v / 255 for v in (r, g, b)]
adj = [v / 12.92 if v <= 0.03928 else ((v + 0.055) / 1.055) ** 2.4 for v in c]
return 0.2126 * adj[0] + 0.7152 * adj[1] + 0.0722 * adj[2]
def contrast_ratio(c1, c2):
L1 = luminance(*c1)
L2 = luminance(*c2)
L1, L2 = max(L1, L2), min(L1, L2)
return (L1 + 0.05) / (L2 + 0.05)
چند نکته UI/UX ✅
• خاکستریهای خیلی روشن روی پسزمینه سفید، معمولاً برای متن ریز شکست میخورند.
• برای حالت Disabled، بهتر است کنتراست را ضعیفتر کنی اما نه آنقدر که کاملاً ناخوانا شود.
• روی لایت و دارک تم جداگانه کنتراست را چک کن؛ یک رنگ ممکن است در Light عالی باشد ولی در Dark افتضاح.
در پروژه بعدی، قبل از تحویل، فقط ۵ دقیقه برای چک کنتراست بگذار؛ تأثیرش روی حس حرفهای بودن طراحی خیلی زیاد است ✨
مرجع پیشنهادی (طبق WCAG 2.1):
Contrast Minimum – W3C
🔖 #Design #طراحی #UI #UX #UI #UX #Color #Contrast #Accessibility #Design
👤 Developix
💎 Channel: @DevelopixDesign
👍5
🎨 یک ترفند سریع برای کنتراست رنگ و خوانایی بهتر
تو UI قشنگترین پالت رنگ هم اگر کنتراست خوبی نداشته باشه، متنهات عملاً "نامرئی" میشن 😅 مخصوصاً روی موبایل و زیر نور.
✅ قانون ساده:
برای متنهای اصلی، نسبت کنتراست حداقل 4.5:1 با پسزمینه رو رعایت کن (طبق WCAG). این یعنی مثلاً:
• متن خاکستری روشن روی پسزمینه سفید ❌
• متن تقریباً مشکی روی پسزمینه سفید ✅
یه مثال رنگ:
• Background: #FFFFFF
• Text ضعیف: #BDBDBD (کنتراست کم)
• Text درست: #212121 (کنتراست مناسب)
مثلاً در CSS اینجوری فرق میکنه:
✨ نکته کاربردی: توی Figma حتماً از افزونههای چک کنتراست (مثل Contrast) استفاده کن؛ هرجا متن روی تصویر، گرادینت یا کارت رنگی گذاشتی، سریع کنتراست رو تست کن.
برای جزییات بیشتر استاندارد کنتراست:
W3C WCAG – Contrast (Minimum)
👀 دفعه بعد که UI تحویل میدی، قبل از هر چیز کنتراست رو چک کن؛ تاثیرش روی تجربه کاربر واقعاً چشمگیره.
🔖 #Design #طراحی #UI #UX #UI #UX #Contrast #Color #Accessibility #Typography #WCAG
👤 Developix
💎 Channel: @DevelopixDesign
تو UI قشنگترین پالت رنگ هم اگر کنتراست خوبی نداشته باشه، متنهات عملاً "نامرئی" میشن 😅 مخصوصاً روی موبایل و زیر نور.
✅ قانون ساده:
برای متنهای اصلی، نسبت کنتراست حداقل 4.5:1 با پسزمینه رو رعایت کن (طبق WCAG). این یعنی مثلاً:
• متن خاکستری روشن روی پسزمینه سفید ❌
• متن تقریباً مشکی روی پسزمینه سفید ✅
یه مثال رنگ:
• Background: #FFFFFF
• Text ضعیف: #BDBDBD (کنتراست کم)
• Text درست: #212121 (کنتراست مناسب)
مثلاً در CSS اینجوری فرق میکنه:
/* خوانایی ضعیف */
body {
background-color: #ffffff;
color: #bdbdbd;
}
/* خوانایی بهتر و استانداردتر */
body {
background-color: #ffffff;
color: #212121;
}
✨ نکته کاربردی: توی Figma حتماً از افزونههای چک کنتراست (مثل Contrast) استفاده کن؛ هرجا متن روی تصویر، گرادینت یا کارت رنگی گذاشتی، سریع کنتراست رو تست کن.
برای جزییات بیشتر استاندارد کنتراست:
W3C WCAG – Contrast (Minimum)
👀 دفعه بعد که UI تحویل میدی، قبل از هر چیز کنتراست رو چک کن؛ تاثیرش روی تجربه کاربر واقعاً چشمگیره.
🔖 #Design #طراحی #UI #UX #UI #UX #Contrast #Color #Accessibility #Typography #WCAG
👤 Developix
💎 Channel: @DevelopixDesign
👎3
🧩 فضای خالی، عنصر نامرئی که UI را حرفهای میکند
خیلی وقتها برای "پر کردن" صفحه وسوسه میشود همهجا متن و کامپوننت بگذاریم، اما درست استفاده کردن از فضای خالی (White Space) باعث میشود رابطکاربری مرتبتر، قابلاسکنتر و حرفهایتر بهنظر برسد. 🧘♂️
نکته کلیدی: فاصلههای عمودی و افقی را آگاهانه و یکنواخت تنظیم کن؛ مثلاً یک سیستم 4px یا 8px. این کار هم در Figma و هم در کد کمک میکند ساختار تمیز داشته باشی.
مثال ساده برای فاصلهگذاری یکنواخت بین آیتمهای لیست:
🔍 چرا مفید است؟
• المانهای مرتبط را با فاصله کمتر، و بخشهای جدا را با فاصله بیشتر از هم قرار بده.
• چشم کاربر راحتتر ساختار را تشخیص میدهد و سریعتر محتوا را اسکن میکند.
برای الهام گرفتن از نمونههای خوب فاصلهگذاری، راهنمای Layout در Material Design عالی است 👇
material.io — Spacing Guidelines
🪄 دفعه بعد که UI را مرور میکنی، فقط با تنظیم فاصلهها سعی کن بدون تغییر رنگ و تایپوگرافی، حس حرفهایبودن را بالا ببری.
🔖 #Design #طراحی #UI #UX #UI #UX #White_Space #Layout #Spacing #Material_Design
👤 Developix
💎 Channel: @DevelopixDesign
خیلی وقتها برای "پر کردن" صفحه وسوسه میشود همهجا متن و کامپوننت بگذاریم، اما درست استفاده کردن از فضای خالی (White Space) باعث میشود رابطکاربری مرتبتر، قابلاسکنتر و حرفهایتر بهنظر برسد. 🧘♂️
نکته کلیدی: فاصلههای عمودی و افقی را آگاهانه و یکنواخت تنظیم کن؛ مثلاً یک سیستم 4px یا 8px. این کار هم در Figma و هم در کد کمک میکند ساختار تمیز داشته باشی.
مثال ساده برای فاصلهگذاری یکنواخت بین آیتمهای لیست:
.list-item {
padding: 8px 16px;
}
.list-item + .list-item {
margin-top: 8px; /* فاصله عمودی ثابت بین آیتمها */
}🔍 چرا مفید است؟
• المانهای مرتبط را با فاصله کمتر، و بخشهای جدا را با فاصله بیشتر از هم قرار بده.
• چشم کاربر راحتتر ساختار را تشخیص میدهد و سریعتر محتوا را اسکن میکند.
برای الهام گرفتن از نمونههای خوب فاصلهگذاری، راهنمای Layout در Material Design عالی است 👇
material.io — Spacing Guidelines
🪄 دفعه بعد که UI را مرور میکنی، فقط با تنظیم فاصلهها سعی کن بدون تغییر رنگ و تایپوگرافی، حس حرفهایبودن را بالا ببری.
🔖 #Design #طراحی #UI #UX #UI #UX #White_Space #Layout #Spacing #Material_Design
👤 Developix
💎 Channel: @DevelopixDesign
❤1👍1👎1
🎨 ساخت سیستم رنگ حرفهای با Design Token در Figma
خیلی وقتها طراحیهامون از یه پروژه به پروژهی دیگه شبیه همدیگهست، ولی هر بار رنگها رو دستی کپی میکنیم، اسمگذاری نداریم، یا وقتی برند عوض میشه، نصف فایلها خراب میشن. راهحل تمیز و حرفهای این داستان: ساختن Color Design Token توی Figma 💡
اینجا یه ورکفلو واقعاً قابلاستفاده بر اساس داکیومنت رسمی Figma و Material Design داریم:
Figma – Create color styles
Material Design 3 – Color
۱. تعریف لایه اول: نقش رنگ، نه اسم رنگ 🎯
بهجای اینکه اسم بدی «آبی پررنگ» یا «سبز لجنی»، از اسمهای بر پایهی نقش استفاده کن:
•
•
•
•
این دقیقاً همون رویکردیه که Material Design پیشنهاد میده. رنگ واقعی (مثلاً #6750A4) بعداً عوض میشه، ولی نقش
۲. ساخت Color Style توی Figma 🎛
۱) یه Rectangle بکش.
۲) رنگی که برای
۳) توی پنل Fill روی آیکن Style (چهار نقطه) بزن و + رو انتخاب کن.
۴) اسمش رو چیزی مثل این بذار:
همین الگو رو برای حالتهای دیگه ادامه بده:
این ساختار پوشهای توی Figma کمکت میکنه بعداً راحت سوئیچ کنی بین Light و Dark.
۳. Sync با Design Token ذهنی 🧠
کاری که داری میکنی در عمل همون Design Token ساختنه؛ فقط بهجای JSON داری از Styleهای Figma استفاده میکنی. اگر بعداً تیمتون رفت به سمت Design Token واقعی (مثلاً با Style Dictionary)، همین نامگذاری مستقیماً قابل مپی شدنه.
یه نمونه ساختار توکِن (فقط برای درک ذهنی، نه کدنویسی):
توی Figma همونها رو بهصورت Style تعریف میکنی، ولی منبع فکری یکیه.
۴. از HSL و Contrast هم غافل نشو 🔍
برای ساختن سایهها (tone) و روشنیهای مختلف، از منطق HSL استفاده کن: Hue ثابت، Lightness رو کموزیاد کن. بعد حتماً با ابزارهایی مثل:
WebAIM Contrast Checker
کنتراست
۵. روتین استفاده در طراحی روزمره ✅
هر وقت دکمهای طراحی میکنی:
• پسزمینه:
• متن:
اگر برند عوض شد، فقط Styleها رو آپدیت میکنی؛ همهی Buttonها، Cardها و… خودشون آپدیت میشن. این هم تمیزی فایل رو حفظ میکنه هم از Memory Leak بصری توی سیستم رنگ جلوگیری میکنه 🙂
امتحانش کن روی یه صفحه ساده (مثلاً یه Login Screen)، همهی رنگها رو فقط از Styleها بردار. وقتی اولین بار برند رو با عوضکردن چند Style ریدیزاین میکنی، تازه میفهمی قدرت Design Token توی Figma چقدره 🔁
🔖 #Design #طراحی #UI #UX #Figma #UI_Design #Design_Tokens #Color_System #Material_Design #WCAG #UX
👤 Developix
💎 Channel: @DevelopixDesign
خیلی وقتها طراحیهامون از یه پروژه به پروژهی دیگه شبیه همدیگهست، ولی هر بار رنگها رو دستی کپی میکنیم، اسمگذاری نداریم، یا وقتی برند عوض میشه، نصف فایلها خراب میشن. راهحل تمیز و حرفهای این داستان: ساختن Color Design Token توی Figma 💡
اینجا یه ورکفلو واقعاً قابلاستفاده بر اساس داکیومنت رسمی Figma و Material Design داریم:
Figma – Create color styles
Material Design 3 – Color
۱. تعریف لایه اول: نقش رنگ، نه اسم رنگ 🎯
بهجای اینکه اسم بدی «آبی پررنگ» یا «سبز لجنی»، از اسمهای بر پایهی نقش استفاده کن:
•
primary / primary-container•
secondary / secondary-container•
surface / surface-variant•
errorاین دقیقاً همون رویکردیه که Material Design پیشنهاد میده. رنگ واقعی (مثلاً #6750A4) بعداً عوض میشه، ولی نقش
primary همیشه همونه.۲. ساخت Color Style توی Figma 🎛
۱) یه Rectangle بکش.
۲) رنگی که برای
primary میخوای رو انتخاب کن.۳) توی پنل Fill روی آیکن Style (چهار نقطه) بزن و + رو انتخاب کن.
۴) اسمش رو چیزی مثل این بذار:
color / light / primary
همین الگو رو برای حالتهای دیگه ادامه بده:
color / light / on-primary
color / light / surface
color / light / on-surface
color / dark / primary
color / dark / on-primary
...
این ساختار پوشهای توی Figma کمکت میکنه بعداً راحت سوئیچ کنی بین Light و Dark.
۳. Sync با Design Token ذهنی 🧠
کاری که داری میکنی در عمل همون Design Token ساختنه؛ فقط بهجای JSON داری از Styleهای Figma استفاده میکنی. اگر بعداً تیمتون رفت به سمت Design Token واقعی (مثلاً با Style Dictionary)، همین نامگذاری مستقیماً قابل مپی شدنه.
یه نمونه ساختار توکِن (فقط برای درک ذهنی، نه کدنویسی):
{
"color": {
"light": {
"primary": "#6750A4",
"on-primary": "#FFFFFF"
},
"dark": {
"primary": "#D0BCFF",
"on-primary": "#381E72"
}
}
}توی Figma همونها رو بهصورت Style تعریف میکنی، ولی منبع فکری یکیه.
۴. از HSL و Contrast هم غافل نشو 🔍
برای ساختن سایهها (tone) و روشنیهای مختلف، از منطق HSL استفاده کن: Hue ثابت، Lightness رو کموزیاد کن. بعد حتماً با ابزارهایی مثل:
WebAIM Contrast Checker
کنتراست
text روی surface و primary رو چک کن تا با WCAG همخوان باشه.۵. روتین استفاده در طراحی روزمره ✅
هر وقت دکمهای طراحی میکنی:
• پسزمینه:
color / light / primary• متن:
color / light / on-primaryاگر برند عوض شد، فقط Styleها رو آپدیت میکنی؛ همهی Buttonها، Cardها و… خودشون آپدیت میشن. این هم تمیزی فایل رو حفظ میکنه هم از Memory Leak بصری توی سیستم رنگ جلوگیری میکنه 🙂
امتحانش کن روی یه صفحه ساده (مثلاً یه Login Screen)، همهی رنگها رو فقط از Styleها بردار. وقتی اولین بار برند رو با عوضکردن چند Style ریدیزاین میکنی، تازه میفهمی قدرت Design Token توی Figma چقدره 🔁
🔖 #Design #طراحی #UI #UX #Figma #UI_Design #Design_Tokens #Color_System #Material_Design #WCAG #UX
👤 Developix
💎 Channel: @DevelopixDesign
❤3👎1
در اکثر پروژهها مشکل از همینجا شروع میشود: المانها «تقریباً» تراز هستند، فاصلهها «تقریباً» یکی است و آخر سر UI شلخته به نظر میرسد.
امروز میرویم سراغ یک مهارت خیلی عملی: طراحی Layout Grid سیستمی در Figma برای صفحات وب / Desktop (بر اساس توصیههای Material Design و الگوهای رایج 12-Column Grid).
🧩 ایدهی اصلی
وقتی برای هر صفحه یک Grid ثابت و قابل تکرار داشته باشی:
• فاصلهها و ستونها استاندارد میشوند 🧱
• تیم راحتتر Design را به Frontend تحویل میدهد 🔁
• تغییر Layout در آینده خیلی کمهزینهتر میشود
⚙️ ساخت یک 12-Column Grid در Figma
این مثال برای یک صفحه Desktop با عرض 1440px است (یکی از رایجترین Breakpoint ها):
۱️⃣ یک Frame جدید بساز:
• ابزار Frame را انتخاب کن و از بالا Desktop → 1440 را بزن.
۲️⃣ Grid را فعال کن:
• Frame را انتخاب کن.
• در پنل راست، بخش Layout grid روی + کلیک کن.
• روی آیکن چهارخونه کلیک کن و نوع را از Grid به Columns تغییر بده.
۳️⃣ تنظیمات پیشنهادی Columns 🧮
• Count: 12
• Type: Stretch
• Margin: 80 (راست)، 80 (چپ) → مجموعاً 160px فضای اطراف
• Gutter: 24px (فاصلهی بین ستونها)
این ترکیب، یک Grid تمیز و استاندارد برای وباپها و داشبوردها میدهد که با خیلی از Design System ها همخوان است.
📏 تنظیم 8pt System برای Spacing
همزمان با Grid، فاصلههای داخلی و خارجی را هم روی مضربهای 8 تنظیم کن (8, 16, 24, 32...). این کار هم در Design و هم در پیادهسازی CSS کمک زیادی میکند.
یک مثال ساده از فواصل در بخش کارتها:
📌 نکتهی مهم برای Responsive
وقتی Grid Type روی Stretch است، ستونها متناسب با عرض Frame کش میآیند، ولی Margin و Gutter ثابت میمانند. برای Breakpoint های دیگر (مثلاً 1024 و 768)، حتماً Frame جدا با Grid تنظیمشدهی خودش بساز.
🔍 منابع واقعی برای مطالعهی بیشتر
• Material 3 Layout:
m3.material.io/foundations/layout/understanding-layout/overview
• مقاله مفید درباره 8pt Grid از واحد طراحی iOS/Android:
builttoadapt.io/intro-to-the-8-point-grid-system
✅ نکات ریز اما مهم
• Text و Component های اصلی را روی ستونها تراز کن، نه «وسطِ چشمی» بینشان.
• برای عناصر تمامعرض (مثلاً Background Section)، اجازه بده از کل Frame استفاده کنند، ولی محتوا را محدود به Grid نگه دار.
• در Figma میتوانی این Frame را به عنوان Template نگه داری و همهی صفحهها را از روی آن Duplicate کنی.
یکبار درست Grid بسازی، تا آخر پروژه از شلختگی Layout نجاتت میدهد.
امروز روی یک صفحهی واقعی پروژهات این Grid را تست کن و تفاوت نظم و سرعت کار را حس کن 🚀
🔖 #Design #طراحی #UI #UX #UI #UX #Figma #Grid #Layout #Design_System #Desktop
👤 Developix
💎 Channel: @DevelopixDesign
امروز میرویم سراغ یک مهارت خیلی عملی: طراحی Layout Grid سیستمی در Figma برای صفحات وب / Desktop (بر اساس توصیههای Material Design و الگوهای رایج 12-Column Grid).
🧩 ایدهی اصلی
وقتی برای هر صفحه یک Grid ثابت و قابل تکرار داشته باشی:
• فاصلهها و ستونها استاندارد میشوند 🧱
• تیم راحتتر Design را به Frontend تحویل میدهد 🔁
• تغییر Layout در آینده خیلی کمهزینهتر میشود
⚙️ ساخت یک 12-Column Grid در Figma
این مثال برای یک صفحه Desktop با عرض 1440px است (یکی از رایجترین Breakpoint ها):
۱️⃣ یک Frame جدید بساز:
• ابزار Frame را انتخاب کن و از بالا Desktop → 1440 را بزن.
۲️⃣ Grid را فعال کن:
• Frame را انتخاب کن.
• در پنل راست، بخش Layout grid روی + کلیک کن.
• روی آیکن چهارخونه کلیک کن و نوع را از Grid به Columns تغییر بده.
۳️⃣ تنظیمات پیشنهادی Columns 🧮
• Count: 12
• Type: Stretch
• Margin: 80 (راست)، 80 (چپ) → مجموعاً 160px فضای اطراف
• Gutter: 24px (فاصلهی بین ستونها)
این ترکیب، یک Grid تمیز و استاندارد برای وباپها و داشبوردها میدهد که با خیلی از Design System ها همخوان است.
📏 تنظیم 8pt System برای Spacing
همزمان با Grid، فاصلههای داخلی و خارجی را هم روی مضربهای 8 تنظیم کن (8, 16, 24, 32...). این کار هم در Design و هم در پیادهسازی CSS کمک زیادی میکند.
یک مثال ساده از فواصل در بخش کارتها:
Card Padding: 24px
Gap بین آیکن و متن: 8px
Gap بین تیتر و توضیح: 4 یا 8px
Gap بین کارتها در لیست: 16 یا 24px
📌 نکتهی مهم برای Responsive
وقتی Grid Type روی Stretch است، ستونها متناسب با عرض Frame کش میآیند، ولی Margin و Gutter ثابت میمانند. برای Breakpoint های دیگر (مثلاً 1024 و 768)، حتماً Frame جدا با Grid تنظیمشدهی خودش بساز.
🔍 منابع واقعی برای مطالعهی بیشتر
• Material 3 Layout:
m3.material.io/foundations/layout/understanding-layout/overview
• مقاله مفید درباره 8pt Grid از واحد طراحی iOS/Android:
builttoadapt.io/intro-to-the-8-point-grid-system
✅ نکات ریز اما مهم
• Text و Component های اصلی را روی ستونها تراز کن، نه «وسطِ چشمی» بینشان.
• برای عناصر تمامعرض (مثلاً Background Section)، اجازه بده از کل Frame استفاده کنند، ولی محتوا را محدود به Grid نگه دار.
• در Figma میتوانی این Frame را به عنوان Template نگه داری و همهی صفحهها را از روی آن Duplicate کنی.
یکبار درست Grid بسازی، تا آخر پروژه از شلختگی Layout نجاتت میدهد.
امروز روی یک صفحهی واقعی پروژهات این Grid را تست کن و تفاوت نظم و سرعت کار را حس کن 🚀
🔖 #Design #طراحی #UI #UX #UI #UX #Figma #Grid #Layout #Design_System #Desktop
👤 Developix
💎 Channel: @DevelopixDesign
❤1👍1
🎯 ساخت یک کامپوننت دکمه حرفهای در Figma (قابلاستفادهمجدد)
یکی از کارهای خیلی روزمره توی UI Design، ساختن دکمهست. ولی اگر هر بار برای هر صفحه دکمه رو از صفر بسازی، خیلی زود همهچیز شُلخته و مدیریتناپذیر میشه 😅
توی این پست با هم یک Button Component تمیز و مقیاسپذیر توی Figma میسازیم؛ چیزی شبیه الگوهای Material Design Buttons که بهراحتی بشه برای حالتهای مختلف (Primary, Secondary, Disabled, Icon) ازش استفاده کرد.
۱️⃣ طراحی پایه دکمه
• یک Frame جدید بساز و اندازه رو مثلاً بذار 48×120.
• گوشهها رو 8px گرد کن (Corner Radius = 8).
• رنگ پسزمینه رو روی یه رنگ Primary از سیستم رنگت بذار (مثلاً #1E88E5).
• یک متن وسطش بذار: «Button» با وزن Medium و سایز 14 یا 16.
اینجا مهمه که Text رو وسطچین و Auto Width یا Auto Layout رو درست تنظیم کنی تا بعداً با تغییر متن، دکمه بههم نریزه.
۲️⃣ فعالکردن Auto Layout برای کنترل Padding
روی Frame اصلی دکمه، از پنل راست Auto Layout رو فعال کن:
• جهت: Horizontal
• Alignment: Center & Center
• Padding افقی: مثلاً 16–24px
• Padding عمودی: 10–12px
• Spacing between items: 8 (اگر آیکن اضافه شد، بهدرد میخوره)
حالا اگر متن رو عوض کنی، دکمه خودش بهصورت Responsive رشد میکنه. این همون چیزیه که تو راهنماهای رسمی Figma برای Button پیشنهاد میشه (میتونی نمونه رو تو Figma Auto Layout ببینی).
۳️⃣ تبدیل به Component + Variant
• Frame دکمه رو انتخاب کن و از بالا روی Create component بزن.
• حالا از پنل راست روی + کنار Variants کلیک کن تا چند Variant بسازی:
– primary / enabled
– primary / hover
– primary / disabled
– primary / with-icon
به هر Variant یک Property بده؛ مثلاً:
این دقیقاً همون مدلیه که تو Figma Variants پیشنهاد شده و کمک میکنه طراح و دولوپر یک زبان مشترک داشته باشن.
۴️⃣ تنظیم حالتها (States)
📌 چند پیشنهاد براساس Material Design:
• Hover: همون رنگ Primary با یک Overlay ملایم (مثلاً +8% Opacity سیاه).
• Pressed: کمی تیرهتر یا با Shadow کمتر.
• Disabled: پسزمینه خاکستری روشن، متن با Opacity حدود 38%.
فقط حواست باشه کنتراست رنگ متن و پسزمینه با WCAG اوکی باشه؛ برای متن روی دکمه حداقل کنتراست 4.5:1 خوبه. میتونی تو WebAIM Contrast Checker تست کنی.
۵️⃣ افزودن Icon به دکمه
برای Variant با آیکن:
• یک آیکن 20×20 (یا 16×16 بستهبه Guideline) سمت چپ متن بذار.
• Auto Layout رو طوری تنظیم کن که فاصله Text و Icon ثابت بمونه (Spacing = 8).
• تو Properties، Icon = True/False بذار تا بعداً بتونی با یک کلیک دکمه رو آیکندار یا بدون آیکن کنی.
۶️⃣ استفاده در پروژههای واقعی
حالا هر وقت توی یک صفحه جدید دکمه خواستی:
• از Assets، این Button Component رو Drag کن.
• توی پنل راست State و Type و Icon رو عوض کن.
• فقط Text رو Edit کن، بدون اینکه استایل بههم بریزه.
این دقیقاً جاییه که Design System شروع میشه: یک بار فکر میکنی، بارها استفاده میکنی 💡
در اولین پروژه بعدیات این Button Component رو بساز و کمکم بقیه کامپوننتها (Input, Checkbox, Tabs) رو هم مشابه همین الگو دربیار. بعد از چند صفحه، تفاوت سرعت و نظم رو کاملاً حس میکنی 🚀
🔖 #Design #طراحی #UI #UX #Figma #UI_Design #Component #Button #Material_Design #Auto_Layout #Design_System #Persian
👤 Developix
💎 Channel: @DevelopixDesign
یکی از کارهای خیلی روزمره توی UI Design، ساختن دکمهست. ولی اگر هر بار برای هر صفحه دکمه رو از صفر بسازی، خیلی زود همهچیز شُلخته و مدیریتناپذیر میشه 😅
توی این پست با هم یک Button Component تمیز و مقیاسپذیر توی Figma میسازیم؛ چیزی شبیه الگوهای Material Design Buttons که بهراحتی بشه برای حالتهای مختلف (Primary, Secondary, Disabled, Icon) ازش استفاده کرد.
۱️⃣ طراحی پایه دکمه
• یک Frame جدید بساز و اندازه رو مثلاً بذار 48×120.
• گوشهها رو 8px گرد کن (Corner Radius = 8).
• رنگ پسزمینه رو روی یه رنگ Primary از سیستم رنگت بذار (مثلاً #1E88E5).
• یک متن وسطش بذار: «Button» با وزن Medium و سایز 14 یا 16.
اینجا مهمه که Text رو وسطچین و Auto Width یا Auto Layout رو درست تنظیم کنی تا بعداً با تغییر متن، دکمه بههم نریزه.
۲️⃣ فعالکردن Auto Layout برای کنترل Padding
روی Frame اصلی دکمه، از پنل راست Auto Layout رو فعال کن:
• جهت: Horizontal
• Alignment: Center & Center
• Padding افقی: مثلاً 16–24px
• Padding عمودی: 10–12px
• Spacing between items: 8 (اگر آیکن اضافه شد، بهدرد میخوره)
حالا اگر متن رو عوض کنی، دکمه خودش بهصورت Responsive رشد میکنه. این همون چیزیه که تو راهنماهای رسمی Figma برای Button پیشنهاد میشه (میتونی نمونه رو تو Figma Auto Layout ببینی).
۳️⃣ تبدیل به Component + Variant
• Frame دکمه رو انتخاب کن و از بالا روی Create component بزن.
• حالا از پنل راست روی + کنار Variants کلیک کن تا چند Variant بسازی:
– primary / enabled
– primary / hover
– primary / disabled
– primary / with-icon
به هر Variant یک Property بده؛ مثلاً:
Type = Primary
State = Enabled | Hover | Disabled
Icon = True | False
این دقیقاً همون مدلیه که تو Figma Variants پیشنهاد شده و کمک میکنه طراح و دولوپر یک زبان مشترک داشته باشن.
۴️⃣ تنظیم حالتها (States)
📌 چند پیشنهاد براساس Material Design:
• Hover: همون رنگ Primary با یک Overlay ملایم (مثلاً +8% Opacity سیاه).
• Pressed: کمی تیرهتر یا با Shadow کمتر.
• Disabled: پسزمینه خاکستری روشن، متن با Opacity حدود 38%.
فقط حواست باشه کنتراست رنگ متن و پسزمینه با WCAG اوکی باشه؛ برای متن روی دکمه حداقل کنتراست 4.5:1 خوبه. میتونی تو WebAIM Contrast Checker تست کنی.
۵️⃣ افزودن Icon به دکمه
برای Variant با آیکن:
• یک آیکن 20×20 (یا 16×16 بستهبه Guideline) سمت چپ متن بذار.
• Auto Layout رو طوری تنظیم کن که فاصله Text و Icon ثابت بمونه (Spacing = 8).
• تو Properties، Icon = True/False بذار تا بعداً بتونی با یک کلیک دکمه رو آیکندار یا بدون آیکن کنی.
۶️⃣ استفاده در پروژههای واقعی
حالا هر وقت توی یک صفحه جدید دکمه خواستی:
• از Assets، این Button Component رو Drag کن.
• توی پنل راست State و Type و Icon رو عوض کن.
• فقط Text رو Edit کن، بدون اینکه استایل بههم بریزه.
این دقیقاً جاییه که Design System شروع میشه: یک بار فکر میکنی، بارها استفاده میکنی 💡
در اولین پروژه بعدیات این Button Component رو بساز و کمکم بقیه کامپوننتها (Input, Checkbox, Tabs) رو هم مشابه همین الگو دربیار. بعد از چند صفحه، تفاوت سرعت و نظم رو کاملاً حس میکنی 🚀
🔖 #Design #طراحی #UI #UX #Figma #UI_Design #Component #Button #Material_Design #Auto_Layout #Design_System #Persian
👤 Developix
💎 Channel: @DevelopixDesign
👍4❤3🔥2
در Figma اگر هنوز از Frameهای ثابت و دستی استفاده میکنی، Auto Layout میتونه زندگیات رو خیلی راحتتر کنه 😄 مخصوصاً برای چیزهایی مثل کارت محصول، کارت خبر یا هر کامپوننتی که قراره روی چند سایز اسکرین جواب بده.
اینجا یه ورکفلو واقعی و سادهست بر اساس داک رسمی Figma:
Create dynamic designs with Auto layout
🧩 سناریو: کارت محصول واکنشگرا
فرض کن تو یه اپ فروشگاهی کار میکنی و یه کارت لازم داری که:
- بالا عکس محصول باشه
- زیرش عنوان
- زیر عنوان، قیمت و دکمه Add to Cart کنار هم
- تو موبایل و دسکتاپ بدون شکستن، خودش رو Adapt کنه
۱️⃣ ساخت اسکلت کارت
- یه Frame بساز (F)
- توش ۳ آیتم بذار: Image، Title، Row پایینی (Price + Button)
- حالا روی Frame اصلی از پنل راست، Auto layout رو فعال کن (یا Shift+A)
- Direction رو بذار روی عمودی (Vertical)
- Spacing بین آیتمها رو مثلاً 8 یا 12 بذار که ریتم خوبی بده 🔁
۲️⃣ کنترل Padding و Radius کارت
- روی همون Frame اصلی:
- Padding افقی/عمودی رو مثلاً 16 بذار
- Corner Radius مثلاً 12 تا کارت نرم و مدرن بشه
- Fill کارت رو یه رنگ خنثی روشن انتخاب کن (مثلاً #FFFFFF روی پسزمینه خاکستری روشن)
۳️⃣ ردیف قیمت و دکمه با Auto Layout افقی
- Price و Button رو انتخاب کن
- Shift+A تا یه Auto layout افقی بسازی
- Justify content رو روی "Space between" بذار تا دو سر کارت وایسن
- Alignment عمودی رو وسط تنظیم کن تا Price و Button روی یک خط باشن
۴️⃣ رفتار متن و دکمه روی Resize
- روی کارت اصلی، از قسمت Resizing، عرض رو روی "Fill container" برای متن عنوان بذار
- برای Image میتونی "Fixed width" بذاری که پروپورشن ثابت بمونه
- دکمه رو تو Auto layout افقی روی Hug content بذار که با طول متن خودش تنظیم بشه ✅
۵️⃣ تست در چند سایز (واقعا مهم برای UI/UX)
- کارت رو انتخاب کن و از Scale استفاده نکن؛ فقط Width رو با درگ کردن Handleها یا وارد کردن عدد عوض کن
- ببین متن رپ میشه؟ فاصلهها منطقی میمونن؟ چیزی نمیچسبه به لبهها؟
این دقیقاً همون چیزیه که تو داک رسمی Figma هم تاکید شده: اول رفتار، بعد سایز.
۶️⃣ نمونه Auto Layout واقعی (کد JSON Frame)
چون اینجا کد برنامهنویسی نداریم، یه نمونه JSON از ساختار Auto layout که Figma API تولید میکنه رو میذارم که ببینی زیر hood چه اتفاقی میافته 👇
Ref: Figma FrameNode layoutMode
با چند تا کارت اینطوری و تبدیلشون به Component، میتونی کل لیست محصولات یا مقالات رو خیلی تمیز و قابل نگهداری طراحی کنی. دفعه بعد نیاز به تغییر Padding یا Radius داشتی، فقط تو یه جا آپدیت میکنی و بقیه Variantها خودشون تنظیم میشن ✨
امتحانش کن روی یه پروژه واقعی و ببین چقدر زمانت تو Iterationهای بعدی سیو میشه 🙌
🔖 #Design #طراحی #UI #UX #Figma #Auto_Layout #UI_Design #Component #Product_Card #Design_System
👤 Developix
💎 Channel: @DevelopixDesign
اینجا یه ورکفلو واقعی و سادهست بر اساس داک رسمی Figma:
Create dynamic designs with Auto layout
🧩 سناریو: کارت محصول واکنشگرا
فرض کن تو یه اپ فروشگاهی کار میکنی و یه کارت لازم داری که:
- بالا عکس محصول باشه
- زیرش عنوان
- زیر عنوان، قیمت و دکمه Add to Cart کنار هم
- تو موبایل و دسکتاپ بدون شکستن، خودش رو Adapt کنه
۱️⃣ ساخت اسکلت کارت
- یه Frame بساز (F)
- توش ۳ آیتم بذار: Image، Title، Row پایینی (Price + Button)
- حالا روی Frame اصلی از پنل راست، Auto layout رو فعال کن (یا Shift+A)
- Direction رو بذار روی عمودی (Vertical)
- Spacing بین آیتمها رو مثلاً 8 یا 12 بذار که ریتم خوبی بده 🔁
۲️⃣ کنترل Padding و Radius کارت
- روی همون Frame اصلی:
- Padding افقی/عمودی رو مثلاً 16 بذار
- Corner Radius مثلاً 12 تا کارت نرم و مدرن بشه
- Fill کارت رو یه رنگ خنثی روشن انتخاب کن (مثلاً #FFFFFF روی پسزمینه خاکستری روشن)
۳️⃣ ردیف قیمت و دکمه با Auto Layout افقی
- Price و Button رو انتخاب کن
- Shift+A تا یه Auto layout افقی بسازی
- Justify content رو روی "Space between" بذار تا دو سر کارت وایسن
- Alignment عمودی رو وسط تنظیم کن تا Price و Button روی یک خط باشن
۴️⃣ رفتار متن و دکمه روی Resize
- روی کارت اصلی، از قسمت Resizing، عرض رو روی "Fill container" برای متن عنوان بذار
- برای Image میتونی "Fixed width" بذاری که پروپورشن ثابت بمونه
- دکمه رو تو Auto layout افقی روی Hug content بذار که با طول متن خودش تنظیم بشه ✅
۵️⃣ تست در چند سایز (واقعا مهم برای UI/UX)
- کارت رو انتخاب کن و از Scale استفاده نکن؛ فقط Width رو با درگ کردن Handleها یا وارد کردن عدد عوض کن
- ببین متن رپ میشه؟ فاصلهها منطقی میمونن؟ چیزی نمیچسبه به لبهها؟
این دقیقاً همون چیزیه که تو داک رسمی Figma هم تاکید شده: اول رفتار، بعد سایز.
۶️⃣ نمونه Auto Layout واقعی (کد JSON Frame)
چون اینجا کد برنامهنویسی نداریم، یه نمونه JSON از ساختار Auto layout که Figma API تولید میکنه رو میذارم که ببینی زیر hood چه اتفاقی میافته 👇
{
"layoutMode": "VERTICAL",
"itemSpacing": 12,
"paddingLeft": 16,
"paddingRight": 16,
"paddingTop": 16,
"paddingBottom": 16,
"primaryAxisAlignItems": "SPACE_BETWEEN",
"counterAxisAlignItems": "CENTER"
}Ref: Figma FrameNode layoutMode
با چند تا کارت اینطوری و تبدیلشون به Component، میتونی کل لیست محصولات یا مقالات رو خیلی تمیز و قابل نگهداری طراحی کنی. دفعه بعد نیاز به تغییر Padding یا Radius داشتی، فقط تو یه جا آپدیت میکنی و بقیه Variantها خودشون تنظیم میشن ✨
امتحانش کن روی یه پروژه واقعی و ببین چقدر زمانت تو Iterationهای بعدی سیو میشه 🙌
🔖 #Design #طراحی #UI #UX #Figma #Auto_Layout #UI_Design #Component #Product_Card #Design_System
👤 Developix
💎 Channel: @DevelopixDesign
👍1
🎬 ساخت پروتوتایپ اسکرول اینتراکتیو در Figma
خیلی وقتها توی طراحی صفحه موبایل یا وب، فقط دیدن اسکرینهای ثابت کافی نیست. لازم کارفرما یا دولوپر دقیق ببینه کاربر چطور اسکرول میکنه، هدر چطوری Sticky میمونه، یا کارتها موقع اسکرول چه حسی میدن. اینجا Prototype توی Figma بهکمک ما میاد 🎯
این پست بر اساس ورکفلو رسمی مستندات Figma برای پروتوتایپ (Figma Help Center – Prototype flows and connections) نوشته شده و یه سناریوی کاملا واقعی رو پوشش میده:
ساخت یک لیست اسکرولدار با هدر Sticky و Animation نرم.
۱️⃣ آمادهسازی Frame اصلی
• یک Frame موبایل بساز (مثلا iPhone 14 Pro).
• داخلش یک Header در بالا طراحی کن (لوگو، Title، آیکون سرچ).
• زیر هدر، چندتا Card تکراری بذار (لیست خبر، محصول، یا هر دیتای واقعی).
۲️⃣ فعال کردن Scroll عمودی
طبق راهنمای رسمی Figma برای Scrolling behavior:
• Frame موبایل رو انتخاب کن.
• توی پنل راست، بخش Prototype رو باز کن.
• از قسمت Overflow behavior گزینه Vertical scrolling رو انتخاب کن.
حالا اگر ارتفاع محتوا بیشتر از ارتفاع Frame باشه، توی Preview میتونی اسکرول کنی ✅
۳️⃣ Sticky کردن Header (Position: Fixed)
یکی از چیزهایی که خیلی توی پروژههای واقعی میبینیم، Sticky Headerـه.
طبق مستند Fixed objects in prototyping توی Figma:
• خود Header رو انتخاب کن.
• در پنل راست، توی بخش Design قسمت Constraints رو پیدا کن.
• گزینه Fix position when scrolling رو تیک بزن.
حالا توی Preview، محتوا اسکرول میشه ولی Header همون بالا میمونه، مثل یه اپ واقعی 📱
۴️⃣ اضافه کردن Micro Interaction روی کارتها
برای اینکه Prototype فقط اسکرول خشک نباشه، یه اینتراکشن ساده روی Cardها اضافه کن:
• یک Variant دوم برای Card بساز (مثلا با Shadow بیشتر یا Background کمی تیرهتر).
• Cardها رو بهصورت Component Set دربیار.
• توی تب Prototype روی Variant اصلی کلیک کن و یک Interaction بساز:
حالا موقع کلیک روی Card توی Preview، یه تغییر نرم و طبیعی میبینی که حس Product واقعی میده ✨
۵️⃣ تنظیم Flow و Preview حرفهای
برای اینکه Prototype مرتب و قابلارائه باشه:
• روی Frame اصلی، از تب Prototype گزینه Set as starting frame رو فعال کن.
• از دکمه ▶️ بالا Present رو بزن و Prototype رو در یک پنجره جدا تست کن.
• اگر روی موبایل تست میکنی، از اپ رسمی Figma Mirror استفاده کن تا رفتار اسکرول روی دیوایس واقعی رو ببینی.
این مدل پروتوتایپ هم توی Usability Testing به شدت کمک میکنه، هم برای همفهمی با Dev تیم عالیه. حس «ماکت» رو به «محصول واقعی» نزدیکتر میکنه و باعث میشه ایرادهای UX قبل از پیادهسازی دیده بشن 🔍
اگر تا حالا فقط اسکرینهای استاتیک نشون میدادی، همین امروز یک Flow کوچک با اسکرول و Header ثابت بساز و توی تیم به اشتراک بذار؛ تاثیرش رو خیلی زود روی کیفیت فیedbackها میبینی 🚀
🔖 #Design #طراحی #UI #UX #Figma #Prototype #Interaction #UIUX #Scrolling #Mobile_UI
👤 Developix
💎 Channel: @DevelopixDesign
خیلی وقتها توی طراحی صفحه موبایل یا وب، فقط دیدن اسکرینهای ثابت کافی نیست. لازم کارفرما یا دولوپر دقیق ببینه کاربر چطور اسکرول میکنه، هدر چطوری Sticky میمونه، یا کارتها موقع اسکرول چه حسی میدن. اینجا Prototype توی Figma بهکمک ما میاد 🎯
این پست بر اساس ورکفلو رسمی مستندات Figma برای پروتوتایپ (Figma Help Center – Prototype flows and connections) نوشته شده و یه سناریوی کاملا واقعی رو پوشش میده:
ساخت یک لیست اسکرولدار با هدر Sticky و Animation نرم.
۱️⃣ آمادهسازی Frame اصلی
• یک Frame موبایل بساز (مثلا iPhone 14 Pro).
• داخلش یک Header در بالا طراحی کن (لوگو، Title، آیکون سرچ).
• زیر هدر، چندتا Card تکراری بذار (لیست خبر، محصول، یا هر دیتای واقعی).
۲️⃣ فعال کردن Scroll عمودی
طبق راهنمای رسمی Figma برای Scrolling behavior:
• Frame موبایل رو انتخاب کن.
• توی پنل راست، بخش Prototype رو باز کن.
• از قسمت Overflow behavior گزینه Vertical scrolling رو انتخاب کن.
حالا اگر ارتفاع محتوا بیشتر از ارتفاع Frame باشه، توی Preview میتونی اسکرول کنی ✅
۳️⃣ Sticky کردن Header (Position: Fixed)
یکی از چیزهایی که خیلی توی پروژههای واقعی میبینیم، Sticky Headerـه.
طبق مستند Fixed objects in prototyping توی Figma:
• خود Header رو انتخاب کن.
• در پنل راست، توی بخش Design قسمت Constraints رو پیدا کن.
• گزینه Fix position when scrolling رو تیک بزن.
حالا توی Preview، محتوا اسکرول میشه ولی Header همون بالا میمونه، مثل یه اپ واقعی 📱
۴️⃣ اضافه کردن Micro Interaction روی کارتها
برای اینکه Prototype فقط اسکرول خشک نباشه، یه اینتراکشن ساده روی Cardها اضافه کن:
• یک Variant دوم برای Card بساز (مثلا با Shadow بیشتر یا Background کمی تیرهتر).
• Cardها رو بهصورت Component Set دربیار.
• توی تب Prototype روی Variant اصلی کلیک کن و یک Interaction بساز:
On Tap → Change To → Variant Hover
Animation: Smart Animate
Easing: Ease out
Duration: 150ms
حالا موقع کلیک روی Card توی Preview، یه تغییر نرم و طبیعی میبینی که حس Product واقعی میده ✨
۵️⃣ تنظیم Flow و Preview حرفهای
برای اینکه Prototype مرتب و قابلارائه باشه:
• روی Frame اصلی، از تب Prototype گزینه Set as starting frame رو فعال کن.
• از دکمه ▶️ بالا Present رو بزن و Prototype رو در یک پنجره جدا تست کن.
• اگر روی موبایل تست میکنی، از اپ رسمی Figma Mirror استفاده کن تا رفتار اسکرول روی دیوایس واقعی رو ببینی.
این مدل پروتوتایپ هم توی Usability Testing به شدت کمک میکنه، هم برای همفهمی با Dev تیم عالیه. حس «ماکت» رو به «محصول واقعی» نزدیکتر میکنه و باعث میشه ایرادهای UX قبل از پیادهسازی دیده بشن 🔍
اگر تا حالا فقط اسکرینهای استاتیک نشون میدادی، همین امروز یک Flow کوچک با اسکرول و Header ثابت بساز و توی تیم به اشتراک بذار؛ تاثیرش رو خیلی زود روی کیفیت فیedbackها میبینی 🚀
🔖 #Design #طراحی #UI #UX #Figma #Prototype #Interaction #UIUX #Scrolling #Mobile_UI
👤 Developix
💎 Channel: @DevelopixDesign
👍3
🎯 طراحی یک سیستم تایپوگرافی واکنشگرا در Figma
تایپوگرافی قوی نصف مسیر یک UI خوبه. اگه فونت، سایز و فاصلهها روی هر اسکرین یکنواخت نباشه، حتی بهترین رنگها و آیکونها هم حس «غیرحرفهای» میدن.
توی این پست، خیلی عملی میریم سراغ ساخت یک Type Scale تمیز و قابلاستفاده برای وب / موبایل، بر اساس راهنمای Material Design 3، و پیادهسازیش داخل Figma.
۱️⃣ انتخاب پایهی تایپوگرافی
اول یک Base Size انتخاب کن:
• برای وب: معمولاً 16px
• برای موبایل: میتونی 14–16px رو تست کنی
این Base میشه نقطهی شروع همهی Styleها؛ یعنی مثلاً Body، بعد از اون Headlineها، Caption و غیره.
۲️⃣ ساخت Type Scale منطقی
Material Design پیشنهاد میده چند سطح مشخص داشته باشی:
• Display (بزرگترین تیترها)
• Headline
• Title
• Body
• Label
لازم نیست همهی سطحها رو کپی کنی، ولی میتونی مثلاً این ترکیب رو بسازی:
• Display / H1
• Headline / H2
• Title
• Body (Regular + Medium)
• Caption / Label
بهجای انتخاب تصادفی سایز، یک نسبت ثابت در نظر بگیر (مثلاً 1.25):
• Body: 16px
• Title: 20px (16 × 1.25)
• Headline: 25px تقریباً (20 × 1.25)
• Display: حدود 31px (25 × 1.25)
این نسبت باعث میشه تایپوگرافی «هماهنگ» دیده بشه، نه وصلهپینهای 😄
۳️⃣ ساخت Text Styleها در Figma
حالا نوبت پیادهسازی توی Figma ست:
• یک Text بنویس، فونت اصلی رو انتخاب کن (مثلاً Vazirmatn یا IranYekan).
• اندازه، وزن و Line height رو تنظیم کن.
• از پنل راست روی چهار نقطهی Style کلیک کن و Create style… رو بزن.
• برای نامگذاری، از ساختار سیستمی استفاده کن:
این مدل نامگذاری (Category / Role / Size) هم توی Design System های بزرگ استفاده میشه و هم توی تیم، سریع قابلفهمه.
۴️⃣ تنظیم Line Height و Letter Spacing
• برای متنهای طولانی (Body)، Line height بین 140% تا 160% خوانایی خوبی میده.
• برای تیترهای بزرگ، میتونی Line height رو کمتر (110–120%) بگیری تا جمعوجورتر بشه.
• توی زبان فارسی معمولاً نیازی به Letter spacing زیاد نیست؛ مگر توی Labelهای کوچک.
یک نکتهی مهم از طرف WCAG: فاصلهی خطوط کافی کمک میکنه متن روی اسکرین خستهکننده و سختخوان نشه، مخصوصاً روی موبایل.
۵️⃣ Type Style برای حالتهای مختلف (Responsive)
خیلی وقتها برای Desktop و Mobile اندازهی متفاوت لازم داری. بهجای ساخت Styleهای کاملاً جدا، میتونی اینطوری نامگذاری کنی:
بعد توی Design System بخش Usage بنویس که مثلاً:
• توی Desktop از نسخهی desktop استفاده میشه.
• توی Mobile frameها، Style مربوط به mobile رو اعمال کن.
۶️⃣ ترفند کوچک برای تست سریع
یک Text Sample بساز (چند پاراگراف فارسی + چند تیتر). روی چند Frame با سایز مختلف (مثلاً 1440، 1024، 390) این Styleها رو تست کن. اگر در هر سه حالت خوانا بود و ریتم خوبی داشت، یعنی Scaleت منطقیه.
در نهایت، وقتی یک بار این سیستم رو تمیز بسازی، هر پروژهی جدید فقط چند دقیقه طول میکشه تا تایپوگرافیش سر و شکل حرفهای بگیره ✨
امتحانش کن روی یکی از صفحههای قدیمیات در Figma و ببین فقط با تغییر Type Styleها، چقدر UI مرتبتر و Mature بهنظر میرسه 🙌
🔖 #Design #طراحی #UI #UX #Figma #Typography #UI #Design_System #Material_Design #WCAG
👤 Developix
💎 Channel: @DevelopixDesign
تایپوگرافی قوی نصف مسیر یک UI خوبه. اگه فونت، سایز و فاصلهها روی هر اسکرین یکنواخت نباشه، حتی بهترین رنگها و آیکونها هم حس «غیرحرفهای» میدن.
توی این پست، خیلی عملی میریم سراغ ساخت یک Type Scale تمیز و قابلاستفاده برای وب / موبایل، بر اساس راهنمای Material Design 3، و پیادهسازیش داخل Figma.
۱️⃣ انتخاب پایهی تایپوگرافی
اول یک Base Size انتخاب کن:
• برای وب: معمولاً 16px
• برای موبایل: میتونی 14–16px رو تست کنی
این Base میشه نقطهی شروع همهی Styleها؛ یعنی مثلاً Body، بعد از اون Headlineها، Caption و غیره.
۲️⃣ ساخت Type Scale منطقی
Material Design پیشنهاد میده چند سطح مشخص داشته باشی:
• Display (بزرگترین تیترها)
• Headline
• Title
• Body
• Label
لازم نیست همهی سطحها رو کپی کنی، ولی میتونی مثلاً این ترکیب رو بسازی:
• Display / H1
• Headline / H2
• Title
• Body (Regular + Medium)
• Caption / Label
بهجای انتخاب تصادفی سایز، یک نسبت ثابت در نظر بگیر (مثلاً 1.25):
• Body: 16px
• Title: 20px (16 × 1.25)
• Headline: 25px تقریباً (20 × 1.25)
• Display: حدود 31px (25 × 1.25)
این نسبت باعث میشه تایپوگرافی «هماهنگ» دیده بشه، نه وصلهپینهای 😄
۳️⃣ ساخت Text Styleها در Figma
حالا نوبت پیادهسازی توی Figma ست:
• یک Text بنویس، فونت اصلی رو انتخاب کن (مثلاً Vazirmatn یا IranYekan).
• اندازه، وزن و Line height رو تنظیم کن.
• از پنل راست روی چهار نقطهی Style کلیک کن و Create style… رو بزن.
• برای نامگذاری، از ساختار سیستمی استفاده کن:
type / display / xl
type / headline / lg
type / title / md
type / body / md
type / label / sm
این مدل نامگذاری (Category / Role / Size) هم توی Design System های بزرگ استفاده میشه و هم توی تیم، سریع قابلفهمه.
۴️⃣ تنظیم Line Height و Letter Spacing
• برای متنهای طولانی (Body)، Line height بین 140% تا 160% خوانایی خوبی میده.
• برای تیترهای بزرگ، میتونی Line height رو کمتر (110–120%) بگیری تا جمعوجورتر بشه.
• توی زبان فارسی معمولاً نیازی به Letter spacing زیاد نیست؛ مگر توی Labelهای کوچک.
یک نکتهی مهم از طرف WCAG: فاصلهی خطوط کافی کمک میکنه متن روی اسکرین خستهکننده و سختخوان نشه، مخصوصاً روی موبایل.
۵️⃣ Type Style برای حالتهای مختلف (Responsive)
خیلی وقتها برای Desktop و Mobile اندازهی متفاوت لازم داری. بهجای ساخت Styleهای کاملاً جدا، میتونی اینطوری نامگذاری کنی:
type / body / md / desktop
type / body / md / mobile
بعد توی Design System بخش Usage بنویس که مثلاً:
• توی Desktop از نسخهی desktop استفاده میشه.
• توی Mobile frameها، Style مربوط به mobile رو اعمال کن.
۶️⃣ ترفند کوچک برای تست سریع
یک Text Sample بساز (چند پاراگراف فارسی + چند تیتر). روی چند Frame با سایز مختلف (مثلاً 1440، 1024، 390) این Styleها رو تست کن. اگر در هر سه حالت خوانا بود و ریتم خوبی داشت، یعنی Scaleت منطقیه.
در نهایت، وقتی یک بار این سیستم رو تمیز بسازی، هر پروژهی جدید فقط چند دقیقه طول میکشه تا تایپوگرافیش سر و شکل حرفهای بگیره ✨
امتحانش کن روی یکی از صفحههای قدیمیات در Figma و ببین فقط با تغییر Type Styleها، چقدر UI مرتبتر و Mature بهنظر میرسه 🙌
🔖 #Design #طراحی #UI #UX #Figma #Typography #UI #Design_System #Material_Design #WCAG
👤 Developix
💎 Channel: @DevelopixDesign
❤3👍2