]> git.ipfire.org Git - thirdparty/bootstrap.git/commitdiff
Add basic position to dropup/right/left and dropdown-menu-right (#25400)
authorysds <fellows3@gmail.com>
Mon, 12 Mar 2018 17:44:05 +0000 (02:44 +0900)
committerXhmikosR <xhmikosr@gmail.com>
Mon, 12 Mar 2018 17:44:05 +0000 (19:44 +0200)
scss/_dropdown.scss
scss/_navbar.scss

index 8d96c1ba634daeffbb1f21d7e3f5c49615713a7e..ee6f658087ecbdc2ad234d22f2b74f2b8ebb9068 100644 (file)
@@ -1,6 +1,8 @@
 // The dropdown wrapper (`<div>`)
 .dropup,
-.dropdown {
+.dropright,
+.dropdown,
+.dropleft {
   position: relative;
 }
 
   @include box-shadow($dropdown-box-shadow);
 }
 
+.dropdown-menu-right {
+  right: 0;
+  left: auto;
+}
+
 // Allow for dropdowns to go bottom up (aka, dropup-menu)
 // Just add .dropup after the standard .dropdown class and you're set.
 .dropup {
   .dropdown-menu {
+    top: auto;
+    bottom: 100%;
     margin-top: 0;
     margin-bottom: $dropdown-spacer;
   }
@@ -46,6 +55,9 @@
 
 .dropright {
   .dropdown-menu {
+    top: 0;
+    right: auto;
+    left: 100%;
     margin-top: 0;
     margin-left: $dropdown-spacer;
   }
@@ -60,6 +72,9 @@
 
 .dropleft {
   .dropdown-menu {
+    top: 0;
+    right: 100%;
+    left: auto;
     margin-top: 0;
     margin-right: $dropdown-spacer;
   }
   }
 }
 
+// When enabled Popper.js, reset basic dropdown position
+// stylelint-disable no-duplicate-selectors
+.dropdown-menu {
+  &[x-placement^="top"],
+  &[x-placement^="right"],
+  &[x-placement^="bottom"],
+  &[x-placement^="left"] {
+    right: auto;
+    bottom: auto;
+  }
+}
+// stylelint-enable no-duplicate-selectors
+
 // Dividers (basically an `<hr>`) within the dropdown
 .dropdown-divider {
   @include nav-divider($dropdown-divider-bg);
index 8d68c6c8c452ac1eb1bd4e10c8aa494c19b24f1b..05025273f853099df90a5d13ac2c4980ccb9717d 100644 (file)
             position: absolute;
           }
 
-          .dropdown-menu-right {
-            right: 0;
-            left: auto; // Reset the default from `.dropdown-menu`
-          }
-
           .nav-link {
             padding-right: $navbar-nav-link-padding-x;
             padding-left: $navbar-nav-link-padding-x;
         .navbar-toggler {
           display: none;
         }
-
-        .dropup {
-          .dropdown-menu {
-            top: auto;
-            bottom: 100%;
-          }
-        }
       }
     }
   }