您的浏览器过于古老 & 陈旧。为了更好的访问体验, 请 升级你的浏览器
Ready 发布于2014年07月29日 02:08 最近更新于 2019年05月21日 13:37

原创 兼容IE6+、Chrome、FireFox的固定浮动css代码

114 次浏览 读完需要≈ 3 分钟 CSS

内容目录

使用CSS代码将指定的元素进行固定浮动,是一种普遍的功能需求。例如,本站右下角的“回到顶部”按钮就是一个典型的固定浮动样式。

要想实现固定浮动,我们可以编写类似如下的css代码。

/* 固定浮动 */
.fixedfloat {	
	position: fixed;
	/* 下面的right和bottom可以根据需要自行设置其值,
	你也可以使用left或right + top或bottom等其他属性组合,来设定固定浮动的位置 */
	right: 0;
	bottom: 240px;
	width: 30px; /* 根据实际需要,自行更改 */
	z-index: 99; /* 设置堆叠顺序,以便于显示在其他元素之上 */
}

上述css代码可以在IE7+、Chrome、FireFox等主流浏览器中实现固定浮动效果,但并不支持IE6,IE6不支持background的属性值fixed,而且存在一些bug,无法使元素保持正常的固定浮动,但我们不得不面对的事实是——在中国,IE6仍然像“小强”一样顽强地活着。因此,我们还需要使用CSS Hack对IE6进行兼容支持。

因此,我们可以编写如下css代码,并添加对IE6的兼容实现:运行代码

/* body容器设置 */
body {
	/* IE6中需要为body添加如下两个样式属性,才能完美实现固定浮动 */
	_background-attachment: fixed;
	_background-image: url(about:blank);
}

/* 固定浮动 */
.fixedfloat {
	position: fixed;
	_position: absolute; /* 兼容IE6 */
	right: 0;
	bottom: 240px;
	width: 30px;
	z-index: 99;
	/* 兼容IE6,_top属性的表达式可能根据浮动的位置不同而所有不同,请自行更改 */
	_bottom: auto;
	_top: expression( document.documentElement.scrollTop + document.documentElement.clientHeight - this.offsetHeight - 240 );
}
  • CodePlayer技术交流群1
  • CodePlayer技术交流群2

0 条评论

撰写评论