overflow-x

  • Revision slug: Web/CSS/overflow-x
  • Revision title: overflow-x
  • Revision id: 507387
  • Created:
  • Creator: teoli
  • Is current revision? No
  • Comment

Revision Content

{{ CSSRef() }}{{ SeeCompatTable() }}

Summary

The overflow-x CSS property specifies whether to clip content, render a scroll bar or display overflow content of a block-level element, when it overflows at the left and right edges.

{{cssbox("overflow-x")}}

Syntax

Formal syntax: {{csssyntax("overflow-x")}}
overflow-x: visible
overflow-x: hidden
overflow-x: scroll
overflow-x: auto

overflow-x: inherit

Values

visible
Content is not clipped, it may be rendered outside the content box.
hidden
The content is clipped and no scrollbars are provided.
scroll
The content is clipped and desktop browsers use scrollbars, whether or not any content is clipped. This avoids any problem with scrollbars appearing and disappearing in a dynamic environment. Printers may print overflowing content.
auto
Depends on the user agent. Desktop browsers like Firefox provide scrollbars if content overflows.

Horizontal overflow

HTML

<ul>
  <li><code>overflow-x:hidden</code> — hides the text outside the box
    <div id="div1">
      ABCDEFGHIJKLMOPQRSTUVWXYZABCDEFGHIJKLMOPQRSTUVWXYZ
    </div>
  </li>

  <li><code>overflow-x:scroll</code> — add a scrollbar if needed
    <div id="div2">
      ABCDEFGHIJKLMOPQRSTUVWXYZABCDEFGHIJKLMOPQRSTUVWXYZ
    </div>
  </li>

  <li><code>overflow-x:visible</code> — displays the text outside the box if needed
    <div id="div3">
      ABCDEFGHIJKLMOPQRSTUVWXYZABCDEFGHIJKLMOPQRSTUVWXYZ
    </div>
  </li>

  <li><code>overflow-x:auto</code> — on most browser, equivalent to <code>scroll</scroll>
    <div id="div4">
      ABCDEFGHIJKLMOPQRSTUVWXYZABCDEFGHIJKLMOPQRSTUVWXYZ
    </div>
  </li>
</ul>
  

CSS

#div1, #div2, #div3, #div4 {
  border: 1px solid black;
  width:  250px;
  height: 20px;
  margin-bottom: 12px;
}

#div1 { overflow-x: hidden;}
#div2 { overflow-x: scroll;}
#div3 { overflow-x: visible;}
#div4 { overflow-x: auto;}

Result

{{EmbedLiveSample("Horizontal overflow", "100%", "470'")}}

Specifications

Specification Status Comment
{{ SpecName('CSS3 Box', '#overflow-x', 'overflow-x') }} {{ Spec2('CSS3 Box') }}  

Browser compatibility

{{ CompatibilityTable() }}

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support 1.0 {{ CompatGeckoDesktop("1.9.1") }} 5.0 [*] 9.5 3.0
Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support 1.0 {{ CompatVersionUnknown() }} {{ CompatGeckoMobile("1.9.1") }} {{ CompatVersionUnknown() }} {{ CompatVersionUnknown() }} {{ CompatVersionUnknown() }}

[*] IE8 introduced -ms-overflow-x as a  synonym for overflow-x. Don't use the -ms- prefix.

See also

  • Related CSS properties: {{ cssxref("text-overflow") }}, {{ cssxref("white-space") }}, {{ Cssxref("overflow") }}, {{ Cssxref("overflow-y") }}, {{ Cssxref("clip") }}, {{ Cssxref("display") }}

Revision Source

<div>
 {{ CSSRef() }}{{ SeeCompatTable() }}</div>
<h2 id="Summary" name="Summary">Summary</h2>
<p>The <code>overflow-x</code> <a href="/en/CSS" title="CSS">CSS</a> property specifies whether to clip content, render a scroll bar or display overflow content of a block-level element, when it overflows at the left and right edges.</p>
<p>{{cssbox("overflow-x")}}</p>
<h2 id="Syntax" name="Syntax">Syntax</h2>
<pre class="twopartsyntaxbox">
<a href="/en-US/docs/CSS/Value_definition_syntax" title="CSS/Value_definition_syntax">Formal syntax</a>: {{csssyntax("overflow-x")}}
</pre>
<pre>
overflow-x: visible
overflow-x: hidden
overflow-x: scroll
overflow-x: auto

overflow-x: inherit
</pre>
<h3 id="Values" name="Values">Values</h3>
<dl>
 <dt>
  <code>visible</code></dt>
 <dd>
  Content is not clipped, it may be rendered outside the content box.</dd>
 <dt>
  <code>hidden</code></dt>
 <dd>
  The content is clipped and no scrollbars are provided.</dd>
 <dt>
  <code>scroll</code></dt>
 <dd>
  The content is clipped and desktop browsers use scrollbars, whether or not any content is clipped. This avoids any problem with scrollbars appearing and disappearing in a dynamic environment. Printers may print overflowing content.</dd>
 <dt>
  <code>auto</code></dt>
 <dd>
  Depends on the user agent. Desktop browsers like Firefox provide scrollbars if content overflows.</dd>
</dl>
<h2 id="Example" name="Example">Horizontal overflow</h2>
<h3 id="Exampe_HTML" name="Exampe_HTML">HTML</h3>
<pre class="brush: html">
&lt;ul&gt;
  &lt;li&gt;&lt;code&gt;overflow-x:hidden&lt;/code&gt; — hides the text outside the box
    &lt;div id="div1"&gt;
      ABCDEFGHIJKLMOPQRSTUVWXYZABCDEFGHIJKLMOPQRSTUVWXYZ
    &lt;/div&gt;
  &lt;/li&gt;

  &lt;li&gt;&lt;code&gt;overflow-x:scroll&lt;/code&gt; — add a scrollbar if needed
    &lt;div id="div2"&gt;
      ABCDEFGHIJKLMOPQRSTUVWXYZABCDEFGHIJKLMOPQRSTUVWXYZ
    &lt;/div&gt;
  &lt;/li&gt;

  &lt;li&gt;&lt;code&gt;overflow-x:visible&lt;/code&gt; — displays the text outside the box if needed
    &lt;div id="div3"&gt;
      ABCDEFGHIJKLMOPQRSTUVWXYZABCDEFGHIJKLMOPQRSTUVWXYZ
    &lt;/div&gt;
  &lt;/li&gt;

  &lt;li&gt;&lt;code&gt;overflow-x:auto&lt;/code&gt; — on most browser, equivalent to &lt;code&gt;scroll&lt;/scroll&gt;
    &lt;div id="div4"&gt;
      ABCDEFGHIJKLMOPQRSTUVWXYZABCDEFGHIJKLMOPQRSTUVWXYZ
    &lt;/div&gt;
  &lt;/li&gt;
&lt;/ul&gt;
  
</pre>
<h3 id="Example_CSS" name="Example_CSS">CSS</h3>
<pre class="brush: css">
#div1, #div2, #div3, #div4 {
  border: 1px solid black;
  width:  250px;
  height: 20px;
  margin-bottom: 12px;
}

#div1 { overflow-x: hidden;}
#div2 { overflow-x: scroll;}
#div3 { overflow-x: visible;}
#div4 { overflow-x: auto;}
</pre>
<h3 id="Example_Result" name="Example_Result">Result</h3>
<figure>
 <p>{{EmbedLiveSample("Horizontal overflow", "100%", "470'")}}</p>
</figure>
<h2 id="Specifications" name="Specifications">Specifications</h2>
<table class="standard-table">
 <thead>
  <tr>
   <th scope="col">Specification</th>
   <th scope="col">Status</th>
   <th scope="col">Comment</th>
  </tr>
 </thead>
 <tbody>
  <tr>
   <td>{{ SpecName('CSS3 Box', '#overflow-x', 'overflow-x') }}</td>
   <td>{{ Spec2('CSS3 Box') }}</td>
   <td>&nbsp;</td>
  </tr>
 </tbody>
</table>
<h2 id="Browser_compatibility" name="Browser_compatibility">Browser compatibility</h2>
<p>{{ CompatibilityTable() }}</p>
<div id="compat-desktop">
 <table class="compat-table">
  <tbody>
   <tr>
    <th>Feature</th>
    <th>Chrome</th>
    <th>Firefox (Gecko)</th>
    <th>Internet Explorer</th>
    <th>Opera</th>
    <th>Safari</th>
   </tr>
   <tr>
    <td>Basic support</td>
    <td>1.0</td>
    <td>{{ CompatGeckoDesktop("1.9.1") }}</td>
    <td>5.0 [*]</td>
    <td>9.5</td>
    <td>3.0</td>
   </tr>
  </tbody>
 </table>
</div>
<div id="compat-mobile">
 <table class="compat-table">
  <tbody>
   <tr>
    <th>Feature</th>
    <th>Android</th>
    <th>Chrome for Android</th>
    <th>Firefox Mobile (Gecko)</th>
    <th>IE Mobile</th>
    <th>Opera Mobile</th>
    <th>Safari Mobile</th>
   </tr>
   <tr>
    <td>Basic support</td>
    <td>1.0</td>
    <td>{{ CompatVersionUnknown() }}</td>
    <td>{{ CompatGeckoMobile("1.9.1") }}</td>
    <td>{{ CompatVersionUnknown() }}</td>
    <td>{{ CompatVersionUnknown() }}</td>
    <td>{{ CompatVersionUnknown() }}</td>
   </tr>
  </tbody>
 </table>
</div>
<p>[*] IE8 introduced<code> -ms-overflow-x </code>as a&nbsp; synonym for<code> overflow-x</code>. Don't use the <code>-ms-</code> prefix.</p>
<h2 id="See_also" name="See_also">See also</h2>
<ul>
 <li>Related CSS properties: {{ cssxref("text-overflow") }}, {{ cssxref("white-space") }}, {{ Cssxref("overflow") }}, {{ Cssxref("overflow-y") }}, {{ Cssxref("clip") }}, {{ Cssxref("display") }}</li>
</ul>
Revert to this revision