scratch – Blame information for rev 58
?pathlinks?
Rev | Author | Line No. | Line |
---|---|---|---|
58 | office | 1 | // |
2 | // Input groups |
||
3 | // -------------------------------------------------- |
||
4 | |||
5 | // Base styles |
||
6 | // ------------------------- |
||
7 | .input-group { |
||
8 | position: relative; // For dropdowns |
||
9 | display: table; |
||
10 | border-collapse: separate; // prevent input groups from inheriting border styles from table cells when placed within a table |
||
11 | |||
12 | // Undo padding and float of grid classes |
||
13 | &[class*="col-"] { |
||
14 | float: none; |
||
15 | padding-left: 0; |
||
16 | padding-right: 0; |
||
17 | } |
||
18 | |||
19 | .form-control { |
||
20 | // Ensure that the input is always above the *appended* addon button for |
||
21 | // proper border colors. |
||
22 | position: relative; |
||
23 | z-index: 2; |
||
24 | |||
25 | // IE9 fubars the placeholder attribute in text inputs and the arrows on |
||
26 | // select elements in input groups. To fix it, we float the input. Details: |
||
27 | // https://github.com/twbs/bootstrap/issues/11561#issuecomment-28936855 |
||
28 | float: left; |
||
29 | |||
30 | width: 100%; |
||
31 | margin-bottom: 0; |
||
32 | |||
33 | &:focus { |
||
34 | z-index: 3; |
||
35 | } |
||
36 | } |
||
37 | } |
||
38 | |||
39 | // Sizing options |
||
40 | // |
||
41 | // Remix the default form control sizing classes into new ones for easier |
||
42 | // manipulation. |
||
43 | |||
44 | .input-group-lg > .form-control, |
||
45 | .input-group-lg > .input-group-addon, |
||
46 | .input-group-lg > .input-group-btn > .btn { |
||
47 | .input-lg(); |
||
48 | } |
||
49 | .input-group-sm > .form-control, |
||
50 | .input-group-sm > .input-group-addon, |
||
51 | .input-group-sm > .input-group-btn > .btn { |
||
52 | .input-sm(); |
||
53 | } |
||
54 | |||
55 | |||
56 | // Display as table-cell |
||
57 | // ------------------------- |
||
58 | .input-group-addon, |
||
59 | .input-group-btn, |
||
60 | .input-group .form-control { |
||
61 | display: table-cell; |
||
62 | |||
63 | &:not(:first-child):not(:last-child) { |
||
64 | border-radius: 0; |
||
65 | } |
||
66 | } |
||
67 | // Addon and addon wrapper for buttons |
||
68 | .input-group-addon, |
||
69 | .input-group-btn { |
||
70 | width: 1%; |
||
71 | white-space: nowrap; |
||
72 | vertical-align: middle; // Match the inputs |
||
73 | } |
||
74 | |||
75 | // Text input groups |
||
76 | // ------------------------- |
||
77 | .input-group-addon { |
||
78 | padding: @padding-base-vertical @padding-base-horizontal; |
||
79 | font-size: @font-size-base; |
||
80 | font-weight: normal; |
||
81 | line-height: 1; |
||
82 | color: @input-color; |
||
83 | text-align: center; |
||
84 | background-color: @input-group-addon-bg; |
||
85 | border: 1px solid @input-group-addon-border-color; |
||
86 | border-radius: @input-border-radius; |
||
87 | |||
88 | // Sizing |
||
89 | &.input-sm { |
||
90 | padding: @padding-small-vertical @padding-small-horizontal; |
||
91 | font-size: @font-size-small; |
||
92 | border-radius: @input-border-radius-small; |
||
93 | } |
||
94 | &.input-lg { |
||
95 | padding: @padding-large-vertical @padding-large-horizontal; |
||
96 | font-size: @font-size-large; |
||
97 | border-radius: @input-border-radius-large; |
||
98 | } |
||
99 | |||
100 | // Nuke default margins from checkboxes and radios to vertically center within. |
||
101 | input[type="radio"], |
||
102 | input[type="checkbox"] { |
||
103 | margin-top: 0; |
||
104 | } |
||
105 | } |
||
106 | |||
107 | // Reset rounded corners |
||
108 | .input-group .form-control:first-child, |
||
109 | .input-group-addon:first-child, |
||
110 | .input-group-btn:first-child > .btn, |
||
111 | .input-group-btn:first-child > .btn-group > .btn, |
||
112 | .input-group-btn:first-child > .dropdown-toggle, |
||
113 | .input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle), |
||
114 | .input-group-btn:last-child > .btn-group:not(:last-child) > .btn { |
||
115 | .border-right-radius(0); |
||
116 | } |
||
117 | .input-group-addon:first-child { |
||
118 | border-right: 0; |
||
119 | } |
||
120 | .input-group .form-control:last-child, |
||
121 | .input-group-addon:last-child, |
||
122 | .input-group-btn:last-child > .btn, |
||
123 | .input-group-btn:last-child > .btn-group > .btn, |
||
124 | .input-group-btn:last-child > .dropdown-toggle, |
||
125 | .input-group-btn:first-child > .btn:not(:first-child), |
||
126 | .input-group-btn:first-child > .btn-group:not(:first-child) > .btn { |
||
127 | .border-left-radius(0); |
||
128 | } |
||
129 | .input-group-addon:last-child { |
||
130 | border-left: 0; |
||
131 | } |
||
132 | |||
133 | // Button input groups |
||
134 | // ------------------------- |
||
135 | .input-group-btn { |
||
136 | position: relative; |
||
137 | // Jankily prevent input button groups from wrapping with `white-space` and |
||
138 | // `font-size` in combination with `inline-block` on buttons. |
||
139 | font-size: 0; |
||
140 | white-space: nowrap; |
||
141 | |||
142 | // Negative margin for spacing, position for bringing hovered/focused/actived |
||
143 | // element above the siblings. |
||
144 | > .btn { |
||
145 | position: relative; |
||
146 | + .btn { |
||
147 | margin-left: -1px; |
||
148 | } |
||
149 | // Bring the "active" button to the front |
||
150 | &:hover, |
||
151 | &:focus, |
||
152 | &:active { |
||
153 | z-index: 2; |
||
154 | } |
||
155 | } |
||
156 | |||
157 | // Negative margin to only have a 1px border between the two |
||
158 | &:first-child { |
||
159 | > .btn, |
||
160 | > .btn-group { |
||
161 | margin-right: -1px; |
||
162 | } |
||
163 | } |
||
164 | &:last-child { |
||
165 | > .btn, |
||
166 | > .btn-group { |
||
167 | z-index: 2; |
||
168 | margin-left: -1px; |
||
169 | } |
||
170 | } |
||
171 | } |