thinksaas 默認(rèn)模板下,頂部導(dǎo)航欄都是隨頁面滾動(dòng)的,不少朋友想修改成新浪微博那種固定在瀏覽器窗口頂部的樣子,其實(shí)很簡單。
第一步,固定頂部導(dǎo)航欄
其實(shí)只需要給導(dǎo)航欄的div增加一個(gè)position屬性,編輯/theme/sample-blue/base.css文件,在
.header{}
加入
position: fixed;z-index:999999;
position實(shí)現(xiàn)了固定,z-index 使導(dǎo)航欄不至于被其它頁面元素遮擋。這個(gè)步驟實(shí)現(xiàn)了基本需求,頂部導(dǎo)航固定在瀏覽器窗口頂部了。
第二步,細(xì)節(jié)調(diào)整
完成上一步后,你也許很快就發(fā)現(xiàn),app導(dǎo)航欄會(huì)被頂部導(dǎo)航遮擋,所以還需要再調(diào)整下方div的位置或者邊距,我的方法給appnav這個(gè)div增加padding,所以編輯base.css文件,在
.appnav{}
增加
padding:40px 0px 0px 0px;
這樣就解決了app導(dǎo)航欄就不會(huì)再被遮擋了,但是未登錄前的首頁會(huì)存在問題,因?yàn)槲吹卿浨暗氖醉撌菦]有appnav這個(gè)div的,我的解決辦法是在header之后增加名appnva的空白div,編輯/app/home/html/index.html,在
{php doaction('home_index_css')}
之后添加
<div class=clear></div>
第三步,注意ie6的兼容性
完成上一步后應(yīng)該沒什么大問題了,但是小編聽說ie6 根本不支持position:fixed,如果在意ie6用戶的話,那可能還有一些工作需要做。
ie6以上版本的ie瀏覽器及其他主流瀏覽器都是支持“position:fixed”的,但是ie6卻不支持它。幸好,ie6 支持“position:absolute” 和 internet explorer 的css表達(dá)式(expression)。所以,對于別的瀏覽器,我們可以用“position:fixed” 進(jìn)行固定定位,而對于ie6,我們可以用“position:absolute” 和css表達(dá)式,比如:
.header{
/* 對于其他瀏覽器 */
position:fixed;
top:0px;
/* 對于 ie6 */
_position: absolute;
_top: expression(documentelement.scrolltop + px);
}
采用以上代碼,頂部的導(dǎo)航條,在ie6情況下,確實(shí)固定在頂部了,但是,拉動(dòng)垂直滾動(dòng)條時(shí),這個(gè)導(dǎo)航條有跳動(dòng)現(xiàn)象,解決此問題的方法是使用“background-attachment:fixed”為body添加一個(gè)背景圖片,強(qiáng)制頁面在重畫之前先處理css,而且這個(gè)圖片可以是虛擬的,比如“background:url(任意名稱)”。
body {background: url(about:blank); background-attachment: fixed;}
ie6 兼容代碼來自:http://jdm.jimdo.com/2012/01/24/topnav/,小編已經(jīng)好久沒有使用ie6了,所以這一部分沒有實(shí)測。