2007-04-09
不用js也能实现几个未知高度的容器对齐(续)
关键字: overflow:hidden
原以为用这个不需js就可实现的几个未知高度容器的对齐觉得非常方便,而且免去了js有时所带来的麻烦。但在这几天对这组代码的重复使用过程中,发现了其不少的弊端,其中大多问题出在overflow:hidden属性上(外容器外的的相对定位容器被隐藏不能显示、外容器内锚点设定时该容器内锚点以上的页面内容消失等),而这又是这组代码为了实现容器自适应必不可少的一条加在外容器结构体中的属性;所以在考虑使用何种方法来实现几个未知容器适应时,更应因情况而言,可以从效率、易用、危害性(指对后续开发和重写时带来的负面影响较小)方面来考虑。
除去浏览器对js的阻止,以下代码的简洁和易用性都优于上述的纯css实现那组代码,而且从小马哥(一位page Builder 前辈)获悉到,它的执行效率也要高于上述代码,对像firefox那样的标准浏览器而言尤其如此。代码如下:
除去浏览器对js的阻止,以下代码的简洁和易用性都优于上述的纯css实现那组代码,而且从小马哥(一位page Builder 前辈)获悉到,它的执行效率也要高于上述代码,对像firefox那样的标准浏览器而言尤其如此。代码如下:
js 代码
- function setABHeight(eABa,eABb) {
- var colHeightNeed = this.document.getElementById(eABa);
- if (!colHeightNeed){}
- else
- {
- var colABaH = this.document.getElementById(eABa).scrollHeight;
- var colABbH = this.document.getElementById(eABb).scrollHeight;
- if (colABaH > colABbH)
- {
- this.document.getElementById(eABb).style.height=
- this.document.getElementById(eABa).scrollHeight+"px";
- }
- else if (colABbH > colABaH)
- {
- this.document.getElementById(eABa).style.height=
- this.document.getElementById(eABb).scrollHeight+"px"
- }
- }
- };
- window.onload = function(){
- setABHeight("JsColAba","JsColAbb");
- };
发表评论
- 浏览: 47272 次
- 性别:

- 来自: 上海

- 详细资料
搜索本博客
我的相册
w3c01
共 46 张
共 46 张
最近加入圈子
链接
最新评论
-
成功的用户体验必须遵循的 ...
是的,真正从用户需求和网站目标开始说起的话,有很多可以说~ 等后面有时间写点更加 ...
-- by tiger.passion -
成功的用户体验必须遵循的 ...
还可以说的更详细点阿!
-- by lxdhdgss -
SEO之网站结构优化
有没有 优化 比较好的 网站例子 共享下
-- by 风雪涟漪 -
SEO之网站结构优化
不错 。学习了。期待有更好的文章
-- by 风雪涟漪 -
Firefox 3 Beta 4已完成测 ...
迫不及待呀
-- by boy in the road






评论排行榜