最近有些用戶在使用CSS進行頁面布局的時候,遇到了一個問題:當設置元素的定位之后,桌面上的圖標和背景不見了!這是為什么呢?下面我們來探究一下。
body { background-image: url("bg.jpg"); } .box { position: absolute; top: 0; left: 0; width: 200px; height: 200px; background-color: white; }
在上面的例子中,我們給頁面設置了背景圖片,并且定義了一個class為“box”的元素。這個元素使用了絕對定位,位于頁面的左上角。當我們加載這個頁面時,為什么會看不見桌面上的圖標和背景呢?
原來,當我們設置了元素的定位方式為absolute或fixed時,這個元素會脫離頁面中的正常流,因此頁面本身的高度就無法自動計算了。在這種情況下,如果我們沒有為body元素設置高度,那么整個頁面的高度就會變成0,因此就看不到桌面上的任何東西了。
解決這個問題的方法就是給body元素設置一個高度。例如,我們可以把上面的CSS代碼修改為:
body { background-image: url("bg.jpg"); height: 100%; } .box { position: absolute; top: 0; left: 0; width: 200px; height: 200px; background-color: white; }
這樣就能保證頁面的高度正確了,并且可以正常顯示桌面上的圖標和背景了。