CSS之overflow属性用法

html-css010

CSS之overflow属性用法,第1张

CSS之overflow属性有四个值:visible

(默认),

hidden,

scroll,

和auto。同样有两个overflow的姐妹属性overflow-y

和overflow-x,它们很少被采用。让我们分别看一下这几个值,并讨论一写共同用法和技巧。

Auto

overflow的auto值很像scroll,它唯一解决的是在你不需要的时候也会出现滚动条的问题。

Hidden

默认值visible的相反的值就是hidden。它会将所有超出盒子的所有内容都给隐藏掉。这对应付使用动态的内容,而且可能会由于内容溢出而引起一些布局上的问题的确很有用。尽管如此,请记住用此方法隐藏的内容将彻底的看不到(除非去查看源代码)。

比如有的用户设置他们的浏览器的默认字体比你预期的要大些,你会将一些文字推到盒子的外面然后完全的隐藏之……

Visible

如果你不设置overflow属性,则默认的overflow属性值就是visible。所以一般而言,并没有什么理由特别的设定overflow的属性为visible除非你想覆盖它在其它地方被设定的值。这里需要记住的重要的事情是,尽管盒子外面的内容是可见的,内容并不会影响页面的工作流。一般来说,你至少不用为里面的内容为文字的盒子设置固定的高度,这样就不会遇到这种情况了。

Scroll

设置一个盒子的overflow值为scroll将会隐藏掉渲染到盒子之外的内容,但是它将会提供一个滚动条在盒子内部滚动,从而可以查看剩下的内容。值得注意的是,使用scroll将会同时产生水平和垂直两个滚动条,就算内容只需要其中一个。

这两个属于完全不沾边的属性,没有交集,所以谈不上区别。

overflow的英文意思就是溢出,即当元素里面的内容超出元素的可视范围(通常就是指元素的四个内边距所框出的矩形范围)时要进行何种处理,比如:

overflow:visible 溢出的内容会显示在元素可视范围外,即不做任何处理。

overflow:hidden 溢出的内容会被剪裁掉,或者说隐藏。

overflow:scroll 元素会出现滚动条,通过滚动条用户可看到溢出的内容。

visibility则是可见性(或者说能见度),即用来决定元素是可见的还是隐藏的。

visibility:visible 元素可见

visibility:hidden 元素隐藏(但元素所占的位置还在)