2013-08-19 72 views
0

我正在尝试开发一个小模块(如twitter bootstrap的collapse组件)。如何用动态高度隐藏/显示div的内容?

我不知道如何处理正在成长/下降的div的内容,它可能需要我多次描述,没有比示例更好的了:Collapse deployment

您可以看到一个div.container这是注定要增长/减少的块。 这里我声明height: 50px来说明部署的状态。

有没有一种方法可以隐藏超出父div高度的内容(这里是文本的一部分)?

我喜欢这样的想法,即我们可以通过部署另一个内容来访问内容,但我真的不知道如何使它在CSS中正确发生。

回答

1

喜欢这个?例如的jsfiddle:http://jsfiddle.net/SW86B/1/

更新CSS

.header { 
    background-color: green; 
    height:20%; 
} 

.container { 
    background-color: red; 
    height: 0; 
    overflow: hidden; 

    -webkit-transition: height 0.2s ease; 
    -moz-transition: height 0.2s ease; 
      transition: height 0.2s ease; 
} 

.container.open { height: 50px;} 

p { margin: 0; } 

使用jQuery切换状态

$('button').on('click', function(event){ 
    $('.container').toggleClass('open'); 
}); 
0

设置div.containeroverflow CSS properoty隐藏。

div.container { overflow: hidden; } 

另外,还要为实例调用auto-widthauto宽度类:

div.auto-width { width: auto !important; } 

然后使用jQuery来切换类和揭示容器内的数据:

$('div.header button').click(function() { 
    $('div.container').toggleClass('auto-width'); 
}); 

这里的演示:http://jsfiddle.net/VE9WR/3/

这可以通过很多方式完成。这取决于你在找什么;)