們都知道CSS中定位屬性position的值,除了預設的值外,還有absolute,relative和fixed。我平時比較常用absolute和relative,而position:fixed卻沒多關注。或許是因為當初在CSS中文手冊中看到position:fixed旁邊有說明“IE5.5及NS6尚不支援此屬性”吧。
前段時間,在做一個項目時需要使一個層相對於瀏覽器邊框固定,那時用position:absolute試了下,發覺absolute是對網頁邊框而言的。後來,上網查了一些根據捲軸的移動,動態地改變left和top的值的JavaScript語句,雖然能實現了類似的效果,但捲軸移動時,那個層晃來晃去的,感覺不好看,想要一種能使層固定不動的做法。
且看下面的代碼:
| 代碼如下 |
複製代碼 |
<style type="text/css"> <!-- #help{ width:30px; height:20px; background-color:green; position:fixed; left:60px; top:100px; } --> </style>
|
我們用上面這段代碼來定義頁面上的一個層“help”(id=“help”)。這樣就能實現我們想要的效果了。
在IE8、Firefox、Opera、Google等瀏覽器中測試,都沒有問題,唯獨低版本的IE中,這個屬性無效。
例
| 代碼如下 |
複製代碼 |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>demo</title> <style> #top{ border:1px solid blue; background:#ccc; width:200px; height:150px; position:fixed; _position:absolute; bottom:0; right:0; _top:expression(eval(document.documentElement.scrollTop+document.documentElement.clientHeight-this.offsetHeight-(parseInt(this.currentStyle.marginTop,10)||0)-(parseInt(this.currentStyle.marginBottom,10)||0))); } *html{ background-image:url(about:blank); background-attachment:fixed; } </style> </head> <body > <br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /> <div id="top"> 測試效果 </div> </body> </html> |