等待-放飞梦想

勤现在-乐将来

左右两栏等高实现方法

Await / 前端交互 / 2009/11/11 11:21 / 热度(3,978)

等高布局在实际的应用中会经常用到。最常见的是左边的内容很多。而右边的内容却很少。为了不让右边出现太多的空白,有时需要让右边的高度和左边的保持一致。实现的方法有很多,以前一般是用背景填充来模拟。虽然很简单,但毕境麻烦。现在有了个更简单的方法。这个方法的原理是事先通过正内边距来使其拥有足够高度,然后通过负外边距来使得其的位置不变。通过给父元素溢出隐藏,我们可以隐藏掉事先占据的足够高的空间。由两列实际的内容高度来决定整个父元素的高度,从而实现了等高。

提示:你可以先修改部分代码再运行。

这里考滤到一个意外,就是右边的内容比左边多的时候;其实只需对左右两边都进行正内边距和负外边距设置就行了。这样不管是左边还是右边高,两边的高度始终都是一样的。利用这个原理,我们还可以实现三列多列等高布局。

顺便讲下JQ的实现方法。也很简单,原理就是取得左右两边的高度,然后判断这个值,把大的值赋给小的就行了。看代码:

  1. jQuery(document).ready(function() {
  2.     var _leftheight = jQuery(".left").height();
  3.         _rightheight = jQuery(".right").height();
  4.         if(_leftheight > _rightheight ) {
  5.             jQuery(".right").height(_leftheight);
  6.         }
  7.         else {
  8.             jQuery(".left").height(_rightheight);
  9.         }
  10.     })

好了,到这里相信大家已经都会了。其实还有一些方法可以实现等高的,比如说背景,大家没事研究研究吧;

评论(6)

  1. 乡下人
    2010/12/13

    村长 小时候可色
    来过了

  2. ADD~``
    2010/10/02

    全是我希望解决的 ~~
    博主威武啊~哦吼吼~ :shock:

    PS:jq实现的那中方法能动态的调整不, 比如我右侧不定时的自动伸长或者收缩~然后左侧能保持同步

  3. 老葛
    2010/02/06

    :o 不知道代码怎么用

  4. LAONB
    2009/11/11

    之前好像看过你发布相关的文章啊。

  5. hzhjun
    2009/11/11

    Jquery的功能越来越强大了!!

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Top 管理

无觅相关文章插件,快速提升流量