頁面出現滾動條時,居中的元素不會跳動的方法

  我們經常會遇到這樣的情況:在一個頁面加載的開始,頁面高度比較低,不會出現滾動條。而隨着頁面的加載,滾動條出現,頁面中居中的標題,圖片或者一些其他的東西會突然往左邊跳一下。

  這是因爲,剛開始沒有出現滾動條時,你用margin:0 auto;所做的居中是根據瀏覽器窗口大小而計算的居中。在出現滾動條時,用margin:0 auto;所做的居中是根據瀏覽器窗口大小減去滾動條的寬度而計算的居中。這樣就會出現跳動的問題。

  解決方法我是從一個博客的評論上學到的,看到這個解決辦法,才發現自己學的東西有多淺顯,慚愧啊慚愧,還一直以爲自己雖不算大牛,最起碼還不錯呢,高估自己了。

  言歸正傳,這個解決辦法很簡單,就是加上一句body{width: 100vw;}。

  vw是一個css單位,參考手冊上的說法是“視口被均分爲100單位的vw”,這裏的視口應該指的是瀏覽器窗口吧。那麼100vw就是瀏覽器窗口大小,不管有沒有滾動條,這個值是不會變的。這樣就解決了以上的問題。

  vw兼容IE9+,暫時不知道這個方法有沒有其他的缺點。

  以上,個人認爲這個一個很完美的解決方法。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章