در حال بارگذاری...

Overflow در CSS

می‌توانید به جعبه اندازهٔ ثابت بدهید. اگر محتوا بلندتر یا پهن‌تر از آن جعبه باشد چه؟ overflow تصمیم می‌گیرد محتوای اضافه بیرون بریزد، بریده شود، یا قابل‌اسکرول شود.

کلیدواژه‌ها یک‌نگاهه

📊 مقادیر رایج overflow

مقدار معنی روزمره
visible (پیش‌فرض) محتوای اضافه می‌تواند بیرون جعبه بریزد
hidden محتوای اضافه بریده می‌شود؛ نوار اسکرول نیست
scroll نوار اسکرول نشان داده می‌شود (اغلب حتی اگر لازم نباشد)
auto نوار اسکرول فقط وقتی محتوا سرریز کند ظاهر می‌شود

پیش‌فرض: محتوا می‌تواند بریزد

با overflow: visible (پیش‌فرض)، محتوای بلند ممکن است بیرون لبه‌های جعبه کشیده شود.

Overflow دیدنی (پیش‌فرض)

css
CSS Code
.box-visible {
width: 220px;
height: 80px;
overflow: visible;
border: 1px solid #94a3b8;
background-color: #f8fafc;
}

با hidden ببُرید

overflow: hidden هرچه جا نشود را قطع می‌کند. برای لبه‌های تمیز مفید است — ولی کاربر نمی‌تواند بقیه را اسکرول کند.

Hidden سرریز را می‌بُرد

css
CSS Code
.box-hidden {
width: 220px;
height: 80px;
overflow: hidden;
border: 1px solid #0f766e;
background-color: #ecfdf5;
}

با scroll همیشه نوار اسکرول

overflow: scroll جعبه را قابل‌اسکرول می‌کند و معمولاً حتی وقتی محتوا جا می‌شود هم جای نوار اسکرول را نگه می‌دارد.

همیشه scroll

css
CSS Code
.box-scroll {
width: 220px;
height: 80px;
overflow: scroll;
border: 1px solid #7c3aed;
background-color: #f5f3ff;
}

auto — اسکرول فقط وقتی لازم است

overflow: auto انتخاب آرام روزمره برای پنل‌هاست: وقتی محتوا سرریز کند نوار می‌آید، و وقتی جا شود اغلب مزاحم نیست.

auto وقتی لازم است

css
CSS Code
.box-auto {
width: 220px;
height: 80px;
overflow: auto;
border: 1px solid #b45309;
background-color: #fffbeb;
}

یک محور را جدا کنترل کنید

با overflow-x و overflow-y رفتار افقی و عمودی را جدا کنید — مثلاً اسکرول عمودی بگذارید ولی سرریز افقی را ببُرید.

اسکرول عمودی، برش افقی

css
CSS Code
.panel-axes {
width: 240px;
height: 100px;
overflow-x: hidden;
overflow-y: auto;
border: 1px solid #334155;
background-color: #f1f5f9;
}

عادت کاربردی پنل

به جعبه ارتفاع واقعی بدهید (یا max-height)، بعد برای ناحیهٔ خوانا و قابل‌اسکرول auto بگذارید.

پنل یادداشت قابل‌اسکرول

css
CSS Code
.note-panel {
width: 100%;
max-height: 160px;
overflow: auto;
padding: 1rem;
border: 1px solid #cbd5e1;
background-color: #ffffff;
box-sizing: border-box;
}

خودتان امتحان کنید

  1. جعبه‌ای با width و height کوتاه بسازید و چند پاراگراف داخلش بگذارید.
  2. overflow را بین visible، hidden، scroll و auto عوض کنید.
  3. روی یک خط پهن، overflow-x: hidden و overflow-y: auto بگذارید.
  4. .note-panel با max-height بسازید و ببینید نوار فقط وقتی لازم است می‌آید.
  5. بدون محدودیت height (یا max-height) اغلب overflow چیزی برای محدود کردن ندارد.

اشتباهات رایج

  • انتظار اثر overflow بدون محدودیت height یا width
  • همه‌جا scroll گذاشتن وقتی auto آرام‌تر است
  • قاطی کردن overflow (سرریز جعبه) با text-overflow (سه‌نقطه روی متن — ابزار بعدی)
  • با hidden بریدن و فراموش کردن که کاربر شاید به بقیه نیاز داشته باشد
  • فکر کردن که overflow حساب box-sizing را عوض می‌کند (نمی‌کند)

خلاصه

  • Overflow سرریز، برش و اسکرول را وقتی محتوا از جعبه بزرگ‌تر است کنترل می‌کند
  • پیش‌فرض visible است؛ hidden می‌بُرد؛ scroll همیشه نوار می‌دهد؛ auto وقتی لازم است
  • معمولاً اندازهٔ محدود (height / max-height / width) لازم است تا اثر را ببینید
  • overflow-x و overflow-y محورها را جدا می‌کنند
  • برای خیلی از پنل‌ها، overflow: auto عادت آرام است

🧠 دانش خود را بیازمایید

آماده شروع

دانش خود را بیازمایید

خود را با این آزمون تعاملی به چالش بکشید و ببینید موضوع را چقدر خوب درک کرده‌اید

❓
7
سوالات
🎯
70%
برای قبولی
♾️
∞
زمان
🔄
∞
تلاش‌ها

📝 دستورالعمل‌ها

  • هر سوال را با دقت بخوانید
  • بهترین پاسخ را برای هر سوال انتخاب کنید
  • می‌توانید آزمون را هر چند بار که می‌خواهید تکرار کنید
  • پیشرفت شما در بالا نمایش داده می‌شود