annotate default/assets/scss/vendors/bootstrap/_dropdown.scss @ 0:1d038bc9b3d2 default tip

Up:default
author Liny <dev@neowd.com>
date Sat, 31 May 2025 09:21:51 +0800
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
1 // The dropdown wrapper (`<div>`)
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
2 .dropup,
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
3 .dropdown {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
4 position: relative;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
5 }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
6
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
7 .dropdown-toggle {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
8 // Generate the caret automatically
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
9 &::after {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
10 display: inline-block;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
11 width: 0;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
12 height: 0;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
13 margin-left: $caret-width * .85;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
14 vertical-align: $caret-width * .85;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
15 content: "";
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
16 border-top: $caret-width solid;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
17 border-right: $caret-width solid transparent;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
18 border-left: $caret-width solid transparent;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
19 }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
20
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
21 &:empty::after {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
22 margin-left: 0;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
23 }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
24 }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
25
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
26 // Allow for dropdowns to go bottom up (aka, dropup-menu)
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
27 // Just add .dropup after the standard .dropdown class and you're set.
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
28 .dropup {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
29 .dropdown-menu {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
30 margin-top: 0;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
31 margin-bottom: $dropdown-spacer;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
32 }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
33
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
34 .dropdown-toggle {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
35 &::after {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
36 border-top: 0;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
37 border-bottom: $caret-width solid;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
38 }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
39 }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
40 }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
41
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
42 // The dropdown menu
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
43 .dropdown-menu {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
44 position: absolute;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
45 top: 100%;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
46 left: 0;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
47 z-index: $zindex-dropdown;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
48 display: none; // none by default, but block on "open" of the menu
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
49 float: left;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
50 min-width: $dropdown-min-width;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
51 padding: $dropdown-padding-y 0;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
52 margin: $dropdown-spacer 0 0; // override default ul
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
53 font-size: $font-size-base; // Redeclare because nesting can cause inheritance issues
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
54 color: $body-color;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
55 text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
56 list-style: none;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
57 background-color: $dropdown-bg;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
58 background-clip: padding-box;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
59 border: $dropdown-border-width solid $dropdown-border-color;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
60 @include border-radius($border-radius);
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
61 @include box-shadow($dropdown-box-shadow);
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
62 }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
63
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
64 // Dividers (basically an `<hr>`) within the dropdown
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
65 .dropdown-divider {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
66 @include nav-divider($dropdown-divider-bg);
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
67 }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
68
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
69 // Links, buttons, and more within the dropdown menu
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
70 //
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
71 // `<button>`-specific styles are denoted with `// For <button>s`
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
72 .dropdown-item {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
73 display: block;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
74 width: 100%; // For `<button>`s
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
75 padding: $dropdown-item-padding-y $dropdown-item-padding-x;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
76 clear: both;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
77 font-weight: $font-weight-normal;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
78 color: $dropdown-link-color;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
79 text-align: inherit; // For `<button>`s
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
80 white-space: nowrap; // prevent links from randomly breaking onto new lines
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
81 background: none; // For `<button>`s
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
82 border: 0; // For `<button>`s
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
83
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
84 @include hover-focus {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
85 color: $dropdown-link-hover-color;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
86 text-decoration: none;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
87 background-color: $dropdown-link-hover-bg;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
88 }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
89
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
90 &.active,
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
91 &:active {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
92 color: $dropdown-link-active-color;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
93 text-decoration: none;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
94 background-color: $dropdown-link-active-bg;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
95 }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
96
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
97 &.disabled,
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
98 &:disabled {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
99 color: $dropdown-link-disabled-color;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
100 background-color: transparent;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
101 // Remove CSS gradients if they're enabled
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
102 @if $enable-gradients {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
103 background-image: none;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
104 }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
105 }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
106 }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
107
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
108 // Open state for the dropdown
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
109 .show {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
110 // Remove the outline when :focus is triggered
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
111 > a {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
112 outline: 0;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
113 }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
114 }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
115
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
116 .dropdown-menu.show {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
117 display: block;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
118 }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
119
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
120 // Dropdown section headers
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
121 .dropdown-header {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
122 display: block;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
123 padding: $dropdown-padding-y $dropdown-item-padding-x;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
124 margin-bottom: 0; // for use with heading elements
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
125 font-size: $font-size-sm;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
126 color: $dropdown-header-color;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
127 white-space: nowrap; // as with > li > a
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
128 }