overflow的妙用

overflow是個非常神奇的屬性,表面上它只是用來處理超出部分隱藏的元素,實質上它有許多神奇的妙用!

1.overflow的基本屬性

visible 超出部分可見(默認)
hidden 超出部分隱藏
scroll 出現滾動條,不管是否超出
auto 超出方向出現滾動條
inherit 繼承(不常用)
注意注意: 當overflow-x,overflow-y值不相等,并且其中一個為visible,另一個為除visible之外的屬性值(hidden,scroll,auto),那么其中為visible的屬性值會變為auto。

2.去除瀏覽器滾動條

html{
overflow:hidden;
}
這樣就可以去除瀏覽器的滾動條,在普通瀏覽器上的html的overflow屬性默認是auto,在ie7瀏覽器上的overflow的默認屬性是scroll

3.清楚浮動的影響

overflow屬性還可以清除浮動的影響,只要設置overflow的為auto,scroll,hidden都可以清楚浮動的影響,防止盒子塌陷的問題

4.兩欄自適應布局

實現兩欄自適應布局非常簡單的辦法就是自適應的盒子添加一個overflow:hidden就可以完美實現

D@R_0MD@A59DCS@SS0-300x195.png

利用overflow實現兩欄自適應布局的又稱BFC布局
如果要在兩個盒子間添加間距,最好在第一個浮動的盒子上添加一個右外邊距
當然了,運用overfllow屬性會導致超出部分不可見.所以,還有一種終極寫法
右邊的盒子有種寫法

.boxR{ display: table-cell; width: 2000px; }

5.overflow的隱藏屬性和滾動屬性失效問題

當容器內元素設置絕對定位的時候回導致,overflow的隱藏和滾動效果時失效

G_W8PMPUU5F7_641UI-300x285.png

這是因為img是相對于body定位的,body是它的包含塊,body是div的父子集,所以導致overflow的效果失效
解決辦法
1.給div加個relative讓img相對于div絕對定位
2把img的包含塊改為div的子集元素
3給div子元素設置任意transform屬性(了解)

6.overflow 和 resize一起使用可以達到任意拉伸元素的效果

7text-overflow: ellipsis;overflow: hidden;一起用可以達到超出的文本用省略號表示

8錨點和overflow制作選項卡妙用

錨點定位的本質:”改變容器滾動的高度”;

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標簽默認的外補...
    _Yfling閱讀 13,806評論 1 92
  • 1.CSS基本概念 1.1 CSS的定義 CSS(Cascading Style Sheets)層疊樣式表,主要用...
    寥寥十一閱讀 1,875評論 0 6
  • 1標準的CSS的盒子模型?與低版本IE的盒子模型有什么不同的? CSS盒子模型:由四個屬性組成的外邊距(margi...
    秦小婕閱讀 1,213評論 0 1
  • 浮動 CSS允許浮動任何元素。 浮動元素 首先,會以某種方式將浮動元素從文檔的正常流中刪除,不過它還是會影響布局。...
    exialym閱讀 1,251評論 0 6
  • 一、在什么場景下會出現外邊距合并?如何合并?如何不讓相鄰元素外邊距合并?給個父子外邊距合并的范例 在CSS當中,相...
    dengpan閱讀 603評論 0 0