← Back to CSS Course | Chapter 5: Layout & Display | Lesson 7 of 14

CSS Overflow

एक suitcase pack करने की कल्पना करें। अगर आप सिर्फ कुछ shirts pack करते हैं, तो वे perfectly fit होती हैं। लेकिन अगर आप बीस भारी jackets ठूँसने की कोशिश करें, तो suitcase overflow होकर खुल जाएगा जब तक आप उसे zip न करें, compression straps इस्तेमाल न करें (hidden), या एक expandable suitcase इस्तेमाल न करें जो एक sliding zipper जोड़ता है (scroll)। CSS overflow वही suitcase layout rule है। यह browser को exactly बताता है कि content को कैसे handle करना है जब वह अपने fixed-size container box में fit होने के लिए बहुत बड़ा हो जाए।
Syntax
css
selector {
  overflow: visible | hidden | scroll | auto;
  overflow-x: value;
  overflow-y: value;
}

Default Visible Overflow

Default रूप से, browsers overflow को visible की तरह treat करते हैं। अगर content अपने parent container के dimensions से ज़्यादा हो जाए, तो यह बस बाहर फैल जाता है और आस-पास के elements के ऊपर render होता है। यह आपके content को चुपचाप छुपने से रोकता है।

Note:
  • जब आप चाहें कि decorative background shapes अपने cards के बाहर फैलें तो default visible setting इस्तेमाल करें।
  • Accepted values:
  • visible — content बाहर फैलता है (default)
  • hidden — overflowing content को clip करता है
  • scroll — हमेशा scrollbars दिखाता है
  • auto — सिर्फ ज़रूरत पड़ने पर scrollbars
  • clip — बिना किसी scrolling के clip करता है
  • overflow-x | overflow-y — हर axis को अलग-अलग control करते हैं
  • inherit | initial | unset | revert — हर property द्वारा accepted CSS-wide keywords
Warning: Visible overflow overlapping text blocks पैदा कर सकता है जो आपकी website को mobile screens पर unreadable बना देते हैं।

उदाहरण: Default Visible Overflow

css
<style>
.box {
  width: 100px;
  height: 50px;
  background: lightyellow;
  border: 2px solid #cc9900;
}
</style>
<div class="box">This text is long enough to spill outside the box's boundaries</div>

Hidden Overflow से Clipping

overflow को hidden set करना browser को instruct करता है कि container की boundaries से ज़्यादा किसी भी content को clip कर दे, extra content को बिना कोई scrollbars जोड़े पूरी तरह invisible बनाते हुए।

Note:
  • अपने card के rounded corners से match करने के लिए nested elements को clip करने के लिए overflow: hidden इस्तेमाल करें।
  • Accepted values:
  • visible — content बाहर फैलता है (initial value)
  • hidden — clipped, कोई scrollbars नहीं
  • scroll — clipped, scrollbars हमेशा दिखते हैं
  • auto — सिर्फ ज़रूरत पड़ने पर scrollbars
  • clip — बिना किसी scrolling के clipped
  • inherit | initial | unset | revert — हर property द्वारा accepted CSS-wide keywords
Warning: Overflow hide करना important text या action buttons काट सकता है, उन्हें आपके visitors के लिए पूरी तरह अनपहुँच बनाते हुए।

उदाहरण: Clipping with Hidden Overflow

css
<style>
.box {
  width: 100px;
  height: 50px;
  overflow: hidden;
  background: lightyellow;
  border: 2px solid #cc9900;
}
</style>
<div class="box">This text is long enough that the excess gets clipped away</div>

Scroll और Auto से Scrolling

overflow को scroll set करना browser को container में scrollbars जोड़ने पर मजबूर करता है। overflow को auto set करना ज़्यादा efficient है, क्योंकि यह browser को बताता है कि scrollbars सिर्फ तभी automatically जोड़े जब content असल में fit होने के लिए बहुत बड़ा हो।

Note:
  • जब content छोटा हो तो अपने layout को खाली, unclickable scrollbars से cluttered होने से रोकने के लिए scroll के बजाय हमेशा overflow: auto prefer करें।
  • Accepted values:
  • visible — content बाहर फैलता है (initial value)
  • hidden — clipped, कोई scrollbars नहीं
  • scroll — clipped, scrollbars हमेशा दिखते हैं
  • auto — सिर्फ ज़रूरत पड़ने पर scrollbars
  • clip — बिना किसी scrolling के clipped
  • inherit | initial | unset | revert — हर property द्वारा accepted CSS-wide keywords
Warning: सुनिश्चित करें कि आपके scrollable elements touch screens वाले mobile devices पर आसानी से navigate किए जा सकें।

उदाहरण: Scrolling with Scroll and Auto

css
<style>
.box {
  width: 150px;
  height: 60px;
  overflow: auto;
  background: lightyellow;
  border: 2px solid #cc9900;
}
</style>
<div class="box">
  <p>Scrollbar appears because this content is actually too tall to fit inside the box.</p>
  <p>Keep scrolling to see the rest of this line.</p>
  <p>Still more content below.</p>
</div>

Ellipsis से Text Truncation

single-line text overflows के लिए, आप text-overflow और overflow properties को combine करके automatically एक साफ़ ellipsis (...) जोड़ सकते हैं, अपने card layouts को साफ़-सुथरा दिखाते हुए।

Note:
  • truncation trigger करने के लिए हमेशा text-overflow: ellipsis को white-space: nowrap और overflow: hidden के साथ जोड़ें।
  • Accepted values:
  • clip — text को काट देता है (initial value)
  • ellipsis — जहाँ text कटा है वहाँ … दिखाता है
  • string — एक custom string (limited support)
  • visible के अलावा overflow चाहिए
  • inherit | initial | unset | revert — हर property द्वारा accepted CSS-wide keywords
Warning: Text-overflow सिर्फ text की single lines पर काम करता है; यह multi-line paragraphs को truncate नहीं करेगा।

उदाहरण: Text Truncation with Ellipsis

css
<style>
.truncate {
  width: 150px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  background: lightyellow;
  border: 1px solid #cc9900;
  padding: 4px;
}
</style>
<div class="truncate">This single line of text is too long to fit and gets truncated</div>

Overflow से Floats को Contain करना

एक classic CSS layout trick floated children को contain करने के लिए parent elements पर overflow: auto या overflow: hidden इस्तेमाल करना है। यह एक नया Block Formatting Context (BFC) establish करता है, जो parent container को अपने floated children के चारों ओर expand और wrap होने पर मजबूर करता है।

Note: बिना कोई extra code markup जोड़े floated children को जल्दी clear करने के लिए parent containers पर overflow: auto इस्तेमाल करें।
Warning: floats को contain करने के लिए overflow इस्तेमाल करना कभी-कभी अनचाहे scrollbars जोड़ सकता है अगर आपका nested content बहुत wide हो।

उदाहरण: Containing Floats with Overflow

css
<style>
.parent {
  overflow: auto;
  background: #eee;
  border: 1px solid #999;
}
.child {
  float: left;
  width: 100px;
  height: 100px;
  background: steelblue;
  color: white;
}
</style>
<div class="parent">
  <div class="child">Floated</div>
</div>
Live Example
Related Topics
{# common_mistakes/chapter_summary/browser_support: on Hindi pages the view already swaps in the hi_ translation fields (or blanks these out if untranslated), so this renders correctly for both languages without a lang_code check here. #}
आम गलतियां
  1. overflow settings को नज़रअंदाज़ करके text को बाहर फैलने और आस-पास के content blocks को cover करने देना।
  2. important text या actions वाले containers पर overflow (overflow: hidden) hide करना, उन्हें अनपहुँच बनाते हुए।
  3. text-overflow: ellipsis इस्तेमाल करते समय white-space: nowrap और overflow: hidden को combine करना भूल जाना।
चैप्टर सारांश
  • overflow property control करती है कि browsers उस content को कैसे handle करते हैं जो अपने container के fixed dimensions से ज़्यादा हो।
  • extra content को साफ़ तरीके से clip करने के लिए overflow: hidden इस्तेमाल करें, और सिर्फ ज़रूरत पड़ने पर automatically scrollbars जोड़ने के लिए overflow: auto।
  • overflow-x और overflow-y properties इस्तेमाल करके horizontal और vertical overflow को अलग-अलग control करें।
ब्राउज़र सपोर्ट

horizontal और vertical splits सहित overflow properties हर web browser द्वारा natively supported हैं।

Login to run this code

C/C++/Java/PHP execution requires a free account. Your code is saved — you'll land right back in the editor after logging in.