ThinkSAAS 固定顶部导航栏完整解决方案
来源: 阅读:661 次 日期:2014-09-03 15:03:46
温馨提示: 小编为您整理了“ThinkSAAS 固定顶部导航栏完整解决方案”,方便广大网友查阅!

ThinkSAAS 默认模板下,顶部导航栏都是随页面滚动的,不少朋友想修改成新浪微博那种固定在浏览器窗口顶部的样子,其实很简单。

第一步,固定顶部导航栏

其实只需要给导航栏的div增加一个position属性,编辑/theme/sample-blue/base.css文件,在

.header{}

加入

position: fixed;z-index:999999;

position实现了固定,z-index 使导航栏不至于被其它页面元素遮挡。这个步骤实现了基本需求,顶部导航固定在浏览器窗口顶部了。

第二步,细节调整

完成上一步后,你也许很快就发现,app导航栏会被顶部导航遮挡,所以还需要再调整下方div的位置或者边距,我的方法给appnav这个div增加padding,所以编辑base.css文件,在

.appnav{}

增加

padding:40px 0px 0px 0px;

这样就解决了app导航栏就不会再被遮挡了,但是未登录前的首页会存在问题,因为未登录前的首页是没有appnav这个div的,我的解决办法是在header之后增加名appnva的空白div,编辑/app/home/html/index.html,在

{php doAction('home_index_css')}

之后添加

<div class="clear"></div>

第三步,注意ie6的兼容性

完成上一步后应该没什么大问题了,但是小编听说ie6 根本不支持position:fixed,如果在意ie6用户的话,那可能还有一些工作需要做。

IE6以上版本的IE浏览器及其他主流浏览器都是支持“position:fixed”的,但是IE6却不支持它。幸好,IE6 支持“position:absolute” 和 Internet Explorer 的CSS表达式(expression)。所以,对于别的浏览器,我们可以用“position:fixed” 进行固定定位,而对于IE6,我们可以用“position:absolute” 和CSS表达式,比如:

.header{

/* 对于其他浏览器 */

position:fixed;

top:0px;

/* 对于 IE6 */

_position: absolute;

_top: expression(documentElement.scrollTop + "px");

}

采用以上代码,顶部的导航条,在IE6情况下,确实固定在顶部了,但是,拉动垂直滚动条时,这个导航条有跳动现象,解决此问题的方法是使用“background-attachment:fixed”为body添加一个背景图片,强制页面在重画之前先处理CSS,而且这个图片可以是虚拟的,比如“background:url(任意名称)”。

body {background: url(about:blank); background-attachment: fixed;}

ie6 兼容代码来自:http://jdm.jimdo.com/2012/01/24/topnav/,小编已经好久没有使用ie6了,所以这一部分没有实测。

更多信息请查看IT技术专栏

更多信息请查看CMS教程
由于各方面情况的不断调整与变化, 提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!

2025国考·省考课程试听报名

  • 报班类型
  • 姓名
  • 手机号
  • 验证码
关于我们 | 联系我们 | 人才招聘 | 网站声明 | 网站帮助 | 非正式的简要咨询 | 简要咨询须知 | 加入群交流 | 手机站点 | 投诉建议
工业和信息化部备案号:滇ICP备2023014141号-1 云南省教育厅备案号:云教ICP备0901021 滇公网安备53010202001879号 人力资源服务许可证:(云)人服证字(2023)第0102001523号
云南网警备案专用图标
联系电话:0871-65317125(9:00—18:00) 获取招聘考试信息及咨询关注公众号:
咨询QQ:526150442(9:00—18:00)版权所有:
云南网警报警专用图标
Baidu
map