OLD | NEW |
1 /* Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 /* Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 * Use of this source code is governed by a BSD-style license that can be | 2 * Use of this source code is governed by a BSD-style license that can be |
3 * found in the LICENSE file. */ | 3 * found in the LICENSE file. */ |
4 | 4 |
5 /* This file defines styles for form controls. The order of rule blocks is | 5 /* This file defines styles for form controls. The order of rule blocks is |
6 * important as there are some rules with equal specificity that rely on order | 6 * important as there are some rules with equal specificity that rely on order |
7 * as a tiebreaker. These are marked with OVERRIDE. */ | 7 * as a tiebreaker. These are marked with OVERRIDE. */ |
8 | 8 |
9 /* Default state **************************************************************/ | 9 /* Default state **************************************************************/ |
10 | 10 |
11 :-webkit-any(button, | 11 :-webkit-any(button, |
12 input[type='button'], | 12 input[type='button'], |
13 input[type='submit']):not(.custom-appearance):not(.link-button), | 13 input[type='submit']):not(.custom-appearance), |
14 select, | 14 select, |
15 input[type='checkbox'], | 15 input[type='checkbox'], |
16 input[type='radio'] { | 16 input[type='radio'] { |
17 -webkit-appearance: none; | 17 -webkit-appearance: none; |
18 -webkit-user-select: none; | 18 -webkit-user-select: none; |
19 background-image: -webkit-linear-gradient(#ededed, #ededed 38%, #dedede); | 19 background-image: -webkit-linear-gradient(#ededed, #ededed 38%, #dedede); |
20 border: 1px solid rgba(0, 0, 0, 0.25); | 20 border: 1px solid rgba(0, 0, 0, 0.25); |
21 border-radius: 2px; | 21 border-radius: 2px; |
22 box-shadow: 0 1px 0 rgba(0, 0, 0, 0.08), | 22 box-shadow: 0 1px 0 rgba(0, 0, 0, 0.08), |
23 inset 0 1px 2px rgba(255, 255, 255, 0.75); | 23 inset 0 1px 2px rgba(255, 255, 255, 0.75); |
24 color: #444; | 24 color: #444; |
25 font: inherit; | 25 font: inherit; |
26 margin: 0 1px 0 0; | 26 margin: 0 1px 0 0; |
27 outline: none; | 27 outline: none; |
28 text-shadow: 0 1px 0 rgb(240, 240, 240); | 28 text-shadow: 0 1px 0 rgb(240, 240, 240); |
29 } | 29 } |
30 | 30 |
31 :-webkit-any(button, | 31 :-webkit-any(button, |
32 input[type='button'], | 32 input[type='button'], |
33 input[type='submit']):not(.custom-appearance):not(.link-button), | 33 input[type='submit']):not(.custom-appearance), |
34 select { | 34 select { |
35 min-height: 2em; | 35 min-height: 2em; |
36 min-width: 4em; | 36 min-width: 4em; |
37 <if expr="is_win"> | 37 <if expr="is_win"> |
38 /* The following platform-specific rule is necessary to get adjacent | 38 /* The following platform-specific rule is necessary to get adjacent |
39 * buttons, text inputs, and so forth to align on their borders while also | 39 * buttons, text inputs, and so forth to align on their borders while also |
40 * aligning on the text's baselines. */ | 40 * aligning on the text's baselines. */ |
41 padding-bottom: 1px; | 41 padding-bottom: 1px; |
42 </if> | 42 </if> |
43 } | 43 } |
44 | 44 |
45 :-webkit-any(button, | 45 :-webkit-any(button, |
46 input[type='button'], | 46 input[type='button'], |
47 input[type='submit']):not(.custom-appearance):not(.link-button) { | 47 input[type='submit']):not(.custom-appearance) { |
48 -webkit-padding-end: 10px; | 48 -webkit-padding-end: 10px; |
49 -webkit-padding-start: 10px; | 49 -webkit-padding-start: 10px; |
50 } | 50 } |
51 | 51 |
52 select { | 52 select { |
53 -webkit-appearance: none; | 53 -webkit-appearance: none; |
54 -webkit-padding-end: 20px; | 54 -webkit-padding-end: 20px; |
55 -webkit-padding-start: 6px; | 55 -webkit-padding-start: 6px; |
56 /* OVERRIDE */ | 56 /* OVERRIDE */ |
57 background-image: url('../images/select.png'), | 57 background-image: url('../images/select.png'), |
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
150 | 150 |
151 /* Hover **********************************************************************/ | 151 /* Hover **********************************************************************/ |
152 | 152 |
153 :enabled:hover:-webkit-any( | 153 :enabled:hover:-webkit-any( |
154 select, | 154 select, |
155 input[type='checkbox'], | 155 input[type='checkbox'], |
156 input[type='radio'], | 156 input[type='radio'], |
157 :-webkit-any( | 157 :-webkit-any( |
158 button, | 158 button, |
159 input[type='button'], | 159 input[type='button'], |
160 input[type='submit']):not(.custom-appearance):not(.link-button)) { | 160 input[type='submit']):not(.custom-appearance)) { |
161 background-image: -webkit-linear-gradient(#f0f0f0, #f0f0f0 38%, #e0e0e0); | 161 background-image: -webkit-linear-gradient(#f0f0f0, #f0f0f0 38%, #e0e0e0); |
162 border-color: rgba(0, 0, 0, 0.3); | 162 border-color: rgba(0, 0, 0, 0.3); |
163 box-shadow: 0 1px 0 rgba(0, 0, 0, 0.12), | 163 box-shadow: 0 1px 0 rgba(0, 0, 0, 0.12), |
164 inset 0 1px 2px rgba(255, 255, 255, 0.95); | 164 inset 0 1px 2px rgba(255, 255, 255, 0.95); |
165 color: black; | 165 color: black; |
166 } | 166 } |
167 | 167 |
168 :enabled:hover:-webkit-any(select) { | 168 :enabled:hover:-webkit-any(select) { |
169 /* OVERRIDE */ | 169 /* OVERRIDE */ |
170 background-image: url('../images/select.png'), | 170 background-image: url('../images/select.png'), |
171 -webkit-linear-gradient(#f0f0f0, #f0f0f0 38%, #e0e0e0); | 171 -webkit-linear-gradient(#f0f0f0, #f0f0f0 38%, #e0e0e0); |
172 } | 172 } |
173 | 173 |
174 /* Active *********************************************************************/ | 174 /* Active *********************************************************************/ |
175 | 175 |
176 :enabled:active:-webkit-any( | 176 :enabled:active:-webkit-any( |
177 select, | 177 select, |
178 input[type='checkbox'], | 178 input[type='checkbox'], |
179 input[type='radio'], | 179 input[type='radio'], |
180 :-webkit-any( | 180 :-webkit-any( |
181 button, | 181 button, |
182 input[type='button'], | 182 input[type='button'], |
183 input[type='submit']):not(.custom-appearance):not(.link-button)) { | 183 input[type='submit']):not(.custom-appearance)) { |
184 background-image: -webkit-linear-gradient(#e7e7e7, #e7e7e7 38%, #d7d7d7); | 184 background-image: -webkit-linear-gradient(#e7e7e7, #e7e7e7 38%, #d7d7d7); |
185 box-shadow: none; | 185 box-shadow: none; |
186 text-shadow: none; | 186 text-shadow: none; |
187 } | 187 } |
188 | 188 |
189 :enabled:active:-webkit-any(select) { | 189 :enabled:active:-webkit-any(select) { |
190 /* OVERRIDE */ | 190 /* OVERRIDE */ |
191 background-image: url('../images/select.png'), | 191 background-image: url('../images/select.png'), |
192 -webkit-linear-gradient(#e7e7e7, #e7e7e7 38%, #d7d7d7); | 192 -webkit-linear-gradient(#e7e7e7, #e7e7e7 38%, #d7d7d7); |
193 } | 193 } |
194 | 194 |
195 /* Disabled *******************************************************************/ | 195 /* Disabled *******************************************************************/ |
196 | 196 |
197 :disabled:-webkit-any( | 197 :disabled:-webkit-any( |
198 button, | 198 button, |
199 input[type='button'], | 199 input[type='button'], |
200 input[type='submit']):not(.custom-appearance):not(.link-button), | 200 input[type='submit']):not(.custom-appearance), |
201 select:disabled { | 201 select:disabled { |
202 background-image: -webkit-linear-gradient(#f1f1f1, #f1f1f1 38%, #e6e6e6); | 202 background-image: -webkit-linear-gradient(#f1f1f1, #f1f1f1 38%, #e6e6e6); |
203 border-color: rgba(80, 80, 80, 0.2); | 203 border-color: rgba(80, 80, 80, 0.2); |
204 box-shadow: 0 1px 0 rgba(80, 80, 80, 0.08), | 204 box-shadow: 0 1px 0 rgba(80, 80, 80, 0.08), |
205 inset 0 1px 2px rgba(255, 255, 255, 0.75); | 205 inset 0 1px 2px rgba(255, 255, 255, 0.75); |
206 color: #aaa; | 206 color: #aaa; |
207 } | 207 } |
208 | 208 |
209 select:disabled { | 209 select:disabled { |
210 /* OVERRIDE */ | 210 /* OVERRIDE */ |
(...skipping 22 matching lines...) Expand all Loading... |
233 input[type='number'], | 233 input[type='number'], |
234 input[type='password'], | 234 input[type='password'], |
235 input[type='radio'], | 235 input[type='radio'], |
236 input[type='search'], | 236 input[type='search'], |
237 input[type='text'], | 237 input[type='text'], |
238 input[type='url'], | 238 input[type='url'], |
239 input:not([type]), | 239 input:not([type]), |
240 :-webkit-any( | 240 :-webkit-any( |
241 button, | 241 button, |
242 input[type='button'], | 242 input[type='button'], |
243 input[type='submit']):not(.custom-appearance):not(.link-button)) { | 243 input[type='submit']):not(.custom-appearance)) { |
244 /* OVERRIDE */ | 244 /* OVERRIDE */ |
245 -webkit-transition: border-color 200ms; | 245 -webkit-transition: border-color 200ms; |
246 /* We use border color because it follows the border radius (unlike outline). | 246 /* We use border color because it follows the border radius (unlike outline). |
247 * This is particularly noticeable on mac. */ | 247 * This is particularly noticeable on mac. */ |
248 border-color: rgb(77, 144, 254); | 248 border-color: rgb(77, 144, 254); |
249 outline: none; | 249 outline: none; |
250 } | 250 } |
251 | 251 |
252 /* Link buttons ***************************************************************/ | 252 /* Action links ***************************************************************/ |
253 | 253 |
254 .link-button { | 254 [is='action-link'] { |
255 -webkit-box-shadow: none; | |
256 background: transparent none; | |
257 border: none; | |
258 color: rgb(17, 85, 204); | |
259 cursor: pointer; | 255 cursor: pointer; |
260 /* Input elements have -webkit-small-control which can override the body font. | |
261 * Resolve this by using 'inherit'. */ | |
262 font: inherit; | |
263 margin: 0; | |
264 padding: 0; | |
265 } | 256 } |
266 | 257 |
267 .link-button:hover { | 258 [is='action-link'] { |
| 259 text-decoration: none; |
| 260 } |
| 261 |
| 262 [is='action-link']:hover { |
268 text-decoration: underline; | 263 text-decoration: underline; |
269 } | 264 } |
270 | 265 |
271 .link-button:active { | 266 [is='action-link']:active { |
272 color: rgb(5, 37, 119); | 267 color: rgb(5, 37, 119); |
273 text-decoration: underline; | 268 text-decoration: underline; |
274 } | 269 } |
275 | 270 |
276 .link-button[disabled] { | 271 [is='action-link'][disabled] { |
277 color: #999; | 272 color: #999; |
278 cursor: default; | 273 cursor: default; |
279 text-decoration: none; | 274 text-decoration: none; |
280 } | 275 } |
281 | 276 |
282 /* Checkbox/radio helpers ****************************************************** | 277 /* Checkbox/radio helpers ****************************************************** |
283 * | 278 * |
284 * .checkbox and .radio classes wrap labels. Checkboxes and radios should use | 279 * .checkbox and .radio classes wrap labels. Checkboxes and radios should use |
285 * these classes with the markup structure: | 280 * these classes with the markup structure: |
286 * | 281 * |
(...skipping 19 matching lines...) Expand all Loading... |
306 display: block; | 301 display: block; |
307 } | 302 } |
308 | 303 |
309 :-webkit-any(.checkbox, .radio) label:hover { | 304 :-webkit-any(.checkbox, .radio) label:hover { |
310 color: black; | 305 color: black; |
311 } | 306 } |
312 | 307 |
313 label > input:disabled:-webkit-any([type='checkbox'], [type='radio']) ~ span { | 308 label > input:disabled:-webkit-any([type='checkbox'], [type='radio']) ~ span { |
314 color: #999; | 309 color: #999; |
315 } | 310 } |
OLD | NEW |