CSS 布局 - 溢出

CSS overflow 属性控制对太大而区域无法容纳的内容的处理方式。

css_overflow_intro.htm

CSS Overflow

overflow 属性指定在元素的内容太大而无法放入指定区域时是剪裁内容还是添加滚动条。

overflow 属性可设置以下值:

  • visible - 默认。溢出没有被剪裁。内容在元素框外渲染
  • hidden - 溢出被剪裁,其余内容将不可见
  • scroll - 溢出被剪裁,同时添加滚动条以查看其余内容
  • auto - 与 scroll 类似,但仅在必要时添加滚动条

注释overflow 属性仅适用于具有指定高度的块元素。

注释:在 OS X Lion(在 Mac 上)中,滚动条默认情况下是隐藏的,并且仅在使用时显示(即使设置了 “overflow:scroll”)。

overflow: visible

默认情况下,溢出是可见的(visible),这意味着它不会被裁剪,而是在元素框外渲染:

css_overflow_visible.htm

实例

  1. div {
  2. width: 200px;
  3. height: 50px;
  4. background-color: #eee;
  5. overflow: visible;
  6. }

overflow: hidden

如果使用 hidden 值,溢出会被裁剪,其余内容被隐藏:

css_overflow_hidden.htm

实例

  1. div {
  2. overflow: hidden;
  3. }

overflow: scroll

如果将值设置为 scroll,溢出将被裁剪,并添加滚动条以便在框内滚动。请注意,这将在水平和垂直方向上添加一个滚动条(即使您不需要它):

css_overflow_scroll.htm

实例

  1. div {
  2. overflow: scroll;
  3. }

overflow: auto

auto 值类似于 scroll,但是它仅在必要时添加滚动条:

css_overflow_auto.htm

实例

  1. div {
  2. overflow: auto;
  3. }

overflow-x 和 overflow-y

overflow-xoverflow-y 属性规定是仅水平还是垂直地(或同时)更改内容的溢出:

overflow-x 指定如何处理内容的左/右边缘。 overflow-y 指定如何处理内容的上/下边缘。

css_overflow_xy.htm

实例

  1. div {
  2. overflow-x: hidden; /* 隐藏水平滚动栏 */
  3. overflow-y: scroll; /* 添加垂直滚动栏 */
  4. }

所有 CSS Overflow 属性

属性 描述
overflow 规定如果内容溢出元素框会发生什么情况。
overflow-x 规定在元素的内容区域溢出时如何处理内容的左/右边缘。
overflow-y 指定在元素的内容区域溢出时如何处理内容的上/下边缘。