Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Twitter Bootstrap Collapse plugin Direction—Horizontal instead of Vertical

Is there a way to collapse the the Bootstrap Collapse plugin from horizontally instead of vertically? Looking at the code this ability doesn't seem to be built in, but I'm hoping I'm just missing something...

Any help will be greatly appreciated. Thanks!

like image 700
Roy Daniels Avatar asked Sep 19 '12 15:09

Roy Daniels


2 Answers

I figured out how to do this very easily without modifying or adding any javascript.

First you define the following CSS after all Twitter Bootstrap CSS:

.collapse {   height: auto;   width: auto; }  .collapse.height {   position: relative;   height: 0;   overflow: hidden;   -webkit-transition: height 0.35s ease;   -moz-transition: height 0.35s ease;   -o-transition: height 0.35s ease;   transition: height 0.35s ease; }  .collapse.width {   position: relative;   width: 0;   overflow: hidden;   -webkit-transition: width 0.35s ease;   -moz-transition: width 0.35s ease;   -o-transition: width 0.35s ease;   transition: width 0.35s ease; }  .collapse.in.width {   width: auto; }  .collapse.in.height {   height: auto; } 

Next, on the target element (where you define the .collapse class) you need to add the class .width or .height depending on what property you want to animate.

Finally, you must wrap the contents of the target element and explicitly define its width if animating the width. This is not required if animating the height.

You can find a working example here -> http://jsfiddle.net/ud3323/ZBAHS/

like image 135
Roy Daniels Avatar answered Sep 17 '22 15:09

Roy Daniels


With bootstrap 3.0.0, you just need to add the width class to the target element and then the following css if you want it to animate.

.collapse.width {     height: auto;     -webkit-transition: width 0.35s ease;     -moz-transition: width 0.35s ease;     -o-transition: width 0.35s ease;     transition: width 0.35s ease; } 
like image 34
flipside Avatar answered Sep 17 '22 15:09

flipside