overflow屬性 如果元素中的內容超出了給定的寬度和高度屬性,overflow 屬性可以確定是否顯示滾動條,是否隱藏溢出部分等行為,規定當內容溢出元素框時發生的事情。 可能的值有: visible:預設值。內容不會被修剪,會呈現在元素框之外。 hidden:內容會被修剪,並且其餘內容是不可見的。 ...
- overflow屬性
如果元素中的內容超出了給定的寬度和高度屬性,overflow 屬性可以確定是否顯示滾動條,是否隱藏溢出部分等行為,規定當內容溢出元素框時發生的事情。
- 可能的值有:
visible:預設值。內容不會被修剪,會呈現在元素框之外。
hidden:內容會被修剪,並且其餘內容是不可見的。
scroll:內容會被修剪,但是瀏覽器會顯示滾動條以便查看其餘的內容。

auto:內容會被修剪,但是瀏覽器會顯示滾動條以便查看其餘的內容。

inherit:規定應該從父元素繼承 overflow 屬性的值。

- overflow-x與overflow-y
overflow-x主要用來定義對水平方向內容溢出的剪切,而overflow-y主要用來定義對垂直方向內容溢出的剪切,如果overflow-x和overflow-y值相同則等同於overflow。如果overflow-x和overflow-y值不同,且其中一個值顯式設置為visible或者預設為visible,而另外一個值是非visible的值。則visible值會被重置為auto。
我們看下麵這個小例子,div2在水平方向超出了容器div1,我們將div1的overflow-x設置為visible,overflow-y設置為scroll,但是發現水平方向並沒有顯示多餘的部分,而是出現了水平滾動條,可見overflow-x被重置為auto了。同樣,div2中文字在豎直方向超出了容器,我們將div2的overflow-y設置為visible,overflow-x設置為hidden,但是發現豎直方向並沒有隱藏多餘的部分,而是出現了豎直方向的滾動條,可見overflow-y也被重置為auto了。

如果子元素為絕對定位元素,而父元素沒有定位時,給父元素設置overflow並不起作用。就像下圖,div2為絕對定位元素,給div1設置了overflow:hidden之後它超出div1的部分並沒有被裁掉。只要給父元素設置定位position:absolute,fixed或relative之後就可以了。