在html中,當一個div想要定位時,我們第一反應是position屬性,而position屬性除了默認值外,還有absolute,relative和fixed。當被設置成fixed時,可以通過設置left、right、top、bottom的值來相對于body定位。
代碼:
.my-fiexd{
position:fixed;
height:40px;
width:40px;
background-color:red;
border:0px;
}
可是當某個div隨著滾動條滾動時而被設置成fixed時(置頂,很多menu都會這樣),可能會發生一個小現象(可以說是bug吧)。具體代碼就不上了,就說下現象和解決辦法吧。
假如一個高度為100px的頁面有一個id為my-fixed的div,my-fixed的高度為20px,滾動條滾動到30px時,my-fixed被添加fiexd屬性,那么此時my-fixed就脫離了頁面,相對應的頁面高度也要減去20px,頁面高度為80px,可能正好此時滾動條所能滾動的最大高度已經小于30px,這個時候my-fixed就會一直在添加和不添加fixed之間不停閃爍,最后my-fixed并沒有被添加fixed。
解決辦法是,給my-fixed外層添加一個div并設置和my-fixed一樣的高度,這樣當my-fixed脫離時,頁面高度就不會減少,閃爍的現象就能很好的避免
ps:第一次寫博客,文字表達上可能不是很清楚,但大概意思應該是對的,歡迎提問,同時如果有人遇到同樣的問題,并有更好的解決辦法,請也告訴我
新聞熱點
疑難解答