2

我有 2 列结构。使用的 CSS 如下:

.div-left
{
position: relative;
float: left;
width: 18%;
margin: 1;
}

.div-right
{
position: relative;
float: right;
width: 81%;
margin: 0;
}

从某种意义上说,我想要一个灵活的结构,当一列折叠时,另一列应该自动占用空间。

我试图隐藏第一列,如下所示:

$("#test").animate({width: 'toggle'});

这隐藏了我的第一列,但右列没有占用第一列释放的空间。

我用javascript从这里切换(http://www.learningjquery.com/2009/02/slide-elements-in-different-directions)。

对此的任何帮助将不胜感激。

4

1 回答 1

2

另一种解决方案:使用 CSS 过渡(我之所以提到它是因为您在标签中列出了 CSS3)和.expanded/.collapsed类。然后使用 jQuery 来切换类。

演示(单击一列使其展开/返回初始宽度)

HTML:

<div class='left'></div>
<div class='right'></div>

CSS:

* { margin: 0; }
div { min-height: 10em; transition: linear 1s; }
.left {
  float: left;
  width: 18%;
  background: crimson;
}
.right {
  float: right;
  width: 81%;
  background: dodgerblue;
}
.expanded { width: 100%; }
.collapsed { width: 0%; }

jQuery:

$('div').click(function(){
    $(this).toggleClass('expanded').siblings().toggleClass('collapsed');
});
于 2012-09-18T14:35:32.943 回答