diff --git a/less/component-animations.less b/less/component-animations.less
index 9400a0d32f31728792a9c4006ce7d2b68fc39ccb..967715d98b680b298573b22ba1a7a3448f81eff3 100644
--- a/less/component-animations.less
+++ b/less/component-animations.less
@@ -17,8 +17,9 @@
 
 .collapse {
   display: none;
+  visibility: hidden;
 
-  &.in      { display: block; }
+  &.in      { display: block; visibility: visible; }
   tr&.in    { display: table-row; }
   tbody&.in { display: table-row-group; }
 }
@@ -27,5 +28,7 @@
   position: relative;
   height: 0;
   overflow: hidden;
-  .transition(height .35s ease);
+  .transition-property(~"height, visibility");
+  .transition-duration(.35s);
+  .transition-timing-function(ease);
 }
diff --git a/less/navbar.less b/less/navbar.less
index bb2f10a5891ca4a57187840ab61f774196b44236..30a79d4a43959fa093e3edc885aca54cd576dad2 100644
--- a/less/navbar.less
+++ b/less/navbar.less
@@ -67,6 +67,7 @@
 
     &.collapse {
       display: block !important;
+      visibility: visible !important;
       height: auto !important;
       padding-bottom: 0; // Override default setting
       overflow: visible !important;
diff --git a/less/navs.less b/less/navs.less
index 98a64307acfd13faac31f186198b83aae5edb0b7..8cf81d7e1747bb7ac94d8546f5ab2c1731b37138 100644
--- a/less/navs.less
+++ b/less/navs.less
@@ -223,9 +223,11 @@
 .tab-content {
   > .tab-pane {
     display: none;
+    visibility: hidden;
   }
   > .active {
     display: block;
+    visibility: visible;
   }
 }