经常看到各大网站会在页面顶部或底部放一个固定的漂浮导航条,如最近的新浪微博、腾讯微博及QQ空间及天涯论坛等,这个导航条在浏览器窗口上的位置是固定不动的,不随垂直滚动条的拉动而变化,这么做的好处是便于快速切换内容。只是有一点,除了天涯论坛以外,它们都不支持IE6及采用其内核的浏览器。虽然IE6必将被淘汰,但是中国人使用IE6的人群还是很庞大的,让IE6支持固定导航条,很困难吗?
网上邻居研究了一些网站,又在网上搜索学习了相关内容,这种支持IE6浏览器的固定漂浮导航条,可以用js实现,也可以通过CSS来实现,本文就后一个方法做个简单介绍。
在CSS position 属性的值中,有两个绝对定位,即“position:fixed”和“position:absolute”,简单的理解,前者是相对于浏览器窗口进行定位,后者是相对于static 定位以外的第一个父元素进行定位。教科书上是这么说的:
position 属性
absolute |
生成绝对定位的元素,相对于 static 定位以外的第一个父元素进行定位。 元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。 |
fixed |
生成绝对定位的元素,相对于浏览器窗口进行定位。 元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。 |
relative |
生成相对定位的元素,相对于其正常位置进行定位。 因此,"left:20" 会向元素的 LEFT 位置添加 20 像素。 |
static | 默认值。没有定位,元素出现在正常的流中(忽略 top, bottom, left, right 或者 z-index 声明)。 |
inherit | 规定应该从父元素继承 position 属性的值。 |
IE6以上版本的IE浏览器及其他主流浏览器都是支持“position:fixed”的,但是IE6却不支持它。幸好,IE6 支持“position:absolute” 和 Internet Explorer 的CSS表达式(expression)。所以,对于别的浏览器,我们可以用“position:fixed” 进行固定定位,而对于IE6,我们可以用“position:absolute” 和CSS表达式,比如:
#top
{
/* 对于其他浏览器 */
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;}
相关推荐
非IE内核浏览器ActiveX支持插件是一种技术解决方案,它使得在非Internet Explorer(IE)浏览器上也能使用ActiveX控件。ActiveX是微软开发的一种技术,主要用于在Web页面中集成各种功能,如媒体播放、Java小应用或者...
《基于IE内核的浏览器深度解析》 在互联网技术日新月异的今天,各种浏览器如雨后春笋般涌现,其中基于IE内核的浏览器因其兼容性优势,曾一度占据市场的重要地位。本文将围绕“基于IE内核的浏览器”这一主题,深入...
在C#中实现一个基于IE内核的简单浏览器涉及到多个关键知识点,主要集中在Windows Forms应用程序开发、WebBrowser控件的使用以及用户界面交互等方面。以下是对这些知识点的详细阐述: 1. **Windows Forms应用程序...
《使用Visual C++开发基于IE内核的浏览器》 在软件开发领域,浏览器是我们日常接触最多的应用之一。本文将深入探讨如何使用Visual C++(VC++)开发一个基于Internet Explorer(IE)内核的浏览器。这涉及到的知识点...
针对这种情况,"非ie内核浏览器activex支持插件安装包"应运而生,旨在为这些非IE内核的浏览器提供对ActiveX控件的支持。 ActiveX技术是基于COM(Component Object Model)组件模型,它允许开发者创建可重用的软件...
非IE内核浏览器ActiveX支持插件主要针对的是那些不基于Internet Explorer(IE)内核的Web浏览器,例如Google Chrome、Firefox、Safari、Opera等。ActiveX是一种由微软开发的技术,主要用于在IE中提供多媒体、应用...
Java 浏览器调用IE内核是一种技术手段,它允许开发者通过Java应用程序来利用Internet Explorer的渲染引擎显示网页内容。这种技术在某些场景下很有用,比如在旧系统的兼容性需求或者特定功能的实现上。以下将详细介绍...
VB环境下使用非IE内核的浏览器控件,Google
手机移动端固定在顶部的导航栏代码,支持iOS,Android(暂不支持WP)等系统以webkit为内核的浏览器,建议在PC端使用以webkit为内核的浏览器(如:Google Chrome)中缩小浏览器窗口宽度查看效果,PC端查看效果需要用...
- **JNI (Java Native Interface)**: 由于Java本身并不直接支持IE内核,开发者可能使用JNI来调用C++或C代码,这些代码可以与IE的ActiveX控件交互,从而在Java应用中嵌入IE的网页渲染能力。 - **Webkit or ...
6. **安全性和隐私**:使用 IE 内核开发浏览器时,必须考虑安全性和用户隐私,因为 IE 历史上存在很多安全漏洞。开发者需要确保其浏览器在处理网络请求、存储用户数据等方面遵循最佳实践,以防止潜在的安全风险。 7...
在MFC IE内核浏览器中,文档类可能包含了与Web页面交互的逻辑,如加载URL、执行导航操作、处理网页事件等;而视图类则负责绘制和更新用户界面,如显示网页内容、响应用户交互。 IE内核,也称为Trident渲染引擎,是...
**基于IE内核的浏览器详解** 在计算机领域,浏览器是用户与互联网进行交互的主要工具,而基于IE内核(Internet Explorer)的浏览器则是早期广泛使用的一种类型。IE内核,也被称为Trident渲染引擎,由微软公司开发,...
腾讯X5内核浏览器类库是腾讯公司推出的一款基于X5内核的浏览器技术解决方案,主要应用于移动设备上的应用程序,如视频应用、浏览器以及其他需要网页渲染能力的软件。这款类库以其高效、稳定和兼容性良好而受到开发者...
6. **安全性与兼容性**:由于基于IE内核,这个浏览器源码可能会受到与IE相同的安全风险。因此,开发者需要关注安全更新,并考虑如何处理JavaScript禁用、跨域限制等问题。同时,考虑到IE浏览器的版本迭代,源码可能...
标题中的“一个小巧的仿谷歌界面IE内核浏览器”指的是一个小型的网络浏览器软件,它的设计风格模仿了谷歌浏览器的用户界面,但其核心技术是基于Internet Explorer(简称IE)的内核。这样的浏览器通常是为了满足那些...
标题中的“不用IE内核的浏览器.rar”指出这是一个使用非Internet Explorer(IE)渲染引擎的浏览器项目,由Delphi编程语言实现。Delphi是一种基于Object Pascal的集成开发环境(IDE),常用于创建桌面应用程序,因其...
然而,随着浏览器多样性的增加,尤其是非IE内核浏览器的崛起,如Firefox、Chrome、Safari和Opera等,ActiveX技术的局限性逐渐显现,这些浏览器并未原生支持ActiveX。因此,对于需要在非IE浏览器中运行ActiveX应用的...
例如,Chrome、Firefox等基于WebKit或Gecko内核的浏览器通常支持最新的CSS特性,而一些老旧的IE版本则支持度较差。 2. **前缀问题**:为了确保新特性的稳定性,某些浏览器会在CSS属性前加上特定的前缀。如Webkit...