نوشتن @media (min-width: 768px) در هر فایل یعنی تکرار عدد و دردسر تغییر بعدی. میکسینی که بلوک را با @content دریافت میکند این مشکل را حل میکند.
میکسین
@use "sass:map";
$breakpoints: (
"sm": 640px,
"md": 768px,
"lg": 1024px,
"xl": 1280px,
);
@mixin up($name) {
@media (min-width: map.get($breakpoints, $name)) {
@content;
}
}استفاده
.nav {
display: none;
@include up("md") {
display: flex;
gap: 1rem;
}
}رویکرد «موبایلاول» یعنی استایل پایه برای صفحهٔ کوچک است و میکسین فقط از یک عرض به بالا چیزی اضافه میکند. اگر نیاز دارید یک بازه را هم پوشش دهید، یک میکسین between($min, $max) بنویسید.
- نام breakpointها را بهجای عدد (مثلاً «tablet») نگذارید؛ نامهای اندازهای مثل md و lg با دستگاه خاصی گره نمیخورند.
- اگر از container query استفاده میکنید، میتوانید میکسین مشابهی برای
@containerبسازید.




