| /* |
| * Copyright 2014 The Chromium Authors. All rights reserved. |
| * Use of this source code is governed by a BSD-style license that can be |
| * found in the LICENSE file. |
| * |
| * This stylesheet is used to apply Chrome styles to extension pages that opt in |
| * to using them. |
| * |
| * These styles have been copied from ui/webui/resources/css/chrome_shared.css |
| * and ui/webui/resources/css/widgets.css *with CSS class logic removed*, so |
| * that it's as close to a user-agent stylesheet as possible. |
| * |
| * For example, extensions shouldn't be able to set a .link-button class and |
| * have it do anything. |
| * |
| * Other than that, keep this file and chrome_shared.css/widgets.cc in sync as |
| * much as possible. |
| */ |
| |
| body { |
| color: #333; |
| cursor: default; |
| /* Note that the correct font-family and font-size are set in |
| * extension_fonts.css. */ |
| /* This top margin of 14px matches the top padding on the h1 element on |
| * overlays (see the ".overlay .page h1" selector in overlay.css), which |
| * every dialogue has. |
| * |
| * Similarly, the bottom 14px margin matches the bottom padding of the area |
| * which hosts the buttons (see the ".overlay .page * .action-area" selector |
| * in overlay.css). |
| * |
| * Both have a padding left/right of 17px. |
| * |
| * Note that we're putting this here in the Extension content, rather than |
| * the WebUI element which contains the content, so that scrollbars in the |
| * Extension content don't get a 6px margin, which looks quite odd. |
| */ |
| margin: 14px 17px; |
| } |
| |
| p { |
| line-height: 1.8em; |
| } |
| |
| h1, |
| h2, |
| h3 { |
| -webkit-user-select: none; |
| font-weight: normal; |
| /* Makes the vertical size of the text the same for all fonts. */ |
| line-height: 1; |
| } |
| |
| h1 { |
| font-size: 1.5em; |
| } |
| |
| h2 { |
| font-size: 1.3em; |
| margin-bottom: 0.4em; |
| } |
| |
| h3 { |
| color: black; |
| font-size: 1.2em; |
| margin-bottom: 0.8em; |
| } |
| |
| a { |
| color: rgb(17, 85, 204); |
| text-decoration: underline; |
| } |
| |
| a:active { |
| color: rgb(5, 37, 119); |
| } |
| |
| /* Default state **************************************************************/ |
| |
| :-webkit-any(button, |
| input[type='button'], |
| input[type='submit']), |
| select, |
| input[type='checkbox'], |
| input[type='radio'] { |
| -webkit-user-select: none; |
| background-image: linear-gradient(#ededed, #ededed 38%, #dedede); |
| border: 1px solid rgba(0, 0, 0, 0.25); |
| border-radius: 2px; |
| box-shadow: 0 1px 0 rgba(0, 0, 0, 0.08), |
| inset 0 1px 2px rgba(255, 255, 255, 0.75); |
| color: #444; |
| font: inherit; |
| margin: 0 1px 0 0; |
| outline: none; |
| text-shadow: 0 1px 0 rgb(240, 240, 240); |
| } |
| |
| select, |
| input[type='checkbox']:not(:indeterminate), |
| input[type='radio'] { |
| -webkit-appearance: none; |
| } |
| |
| :-webkit-any(button, |
| input[type='button'], |
| input[type='submit']), |
| select { |
| min-height: 2em; |
| min-width: 4em; |
| } |
| |
| :-webkit-any(button, |
| input[type='button'], |
| input[type='submit']) { |
| -webkit-padding-end: 10px; |
| -webkit-padding-start: 10px; |
| } |
| |
| select { |
| -webkit-appearance: none; |
| -webkit-padding-end: 20px; |
| -webkit-padding-start: 6px; |
| /* OVERRIDE */ |
| background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAAICAQAAACxSAwfAAAAUUlEQVR4AWP4TxREZkYxpKHAKKzKEhOZvyG4zN8SE7Eq+6+wYCHbTwiT7eeChf8VsFsKVQhTxIDDbVCFfF8ginApgyp82wRShEcZVJIVzoJDAGqrgIJGRl20AAAAAElFTkSuQmCC), |
| linear-gradient(#ededed, #ededed 38%, #dedede); |
| background-position: right center; |
| background-repeat: no-repeat; |
| } |
| |
| html[dir='rtl'] select { |
| background-position: center left; |
| } |
| |
| input[type='checkbox'] { |
| height: 13px; |
| position: relative; |
| vertical-align: middle; |
| width: 13px; |
| } |
| |
| input[type='radio'] { |
| /* OVERRIDE */ |
| border-radius: 100%; |
| height: 15px; |
| position: relative; |
| vertical-align: middle; |
| width: 15px; |
| } |
| |
| /* TODO(estade): add more types here? */ |
| input[type='number'], |
| input[type='password'], |
| input[type='search'], |
| input[type='text'], |
| input[type='url'], |
| input:not([type]), |
| textarea { |
| border: 1px solid #bfbfbf; |
| border-radius: 2px; |
| box-sizing: border-box; |
| color: #444; |
| font: inherit; |
| margin: 0; |
| /* Use min-height to accommodate addditional padding for touch as needed. */ |
| min-height: 2em; |
| padding: 3px; |
| outline: none; |
| } |
| |
| input[type='search'] { |
| -webkit-appearance: textfield; |
| /* NOTE: Keep a relatively high min-width for this so we don't obscure the end |
| * of the default text in relatively spacious languages (i.e. German). */ |
| min-width: 160px; |
| } |
| |
| /* Checked ********************************************************************/ |
| |
| input[type='checkbox']:checked:not(:indeterminate)::before { |
| -webkit-user-select: none; |
| background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAALCAQAAAADpb+tAAAAZ0lEQVR4AWNAA2xAiAXEM8xiMEAXVGJYz7AZCFEkmBi6wYKtEC4/gxqY9gILrmYQhwiXMWxkiAVyVoOFfSCCpkAmCK4Fk+1QA4GqekECUAMkka0KY9gIFvZDd5oawwyGBqACdIDqOwAQzBnTWnnU+gAAAABJRU5ErkJggg==); |
| background-size: 100% 100%; |
| content: ''; |
| display: block; |
| height: 100%; |
| width: 100%; |
| } |
| |
| input[type='radio']:checked::before { |
| background-color: #666; |
| border-radius: 100%; |
| bottom: 3px; |
| content: ''; |
| display: block; |
| left: 3px; |
| position: absolute; |
| right: 3px; |
| top: 3px; |
| } |
| |
| /* Hover **********************************************************************/ |
| |
| :enabled:hover:-webkit-any( |
| select, |
| input[type='checkbox'], |
| input[type='radio'], |
| :-webkit-any( |
| button, |
| input[type='button'], |
| input[type='submit'])) { |
| background-image: linear-gradient(#f0f0f0, #f0f0f0 38%, #e0e0e0); |
| border-color: rgba(0, 0, 0, 0.3); |
| box-shadow: 0 1px 0 rgba(0, 0, 0, 0.12), |
| inset 0 1px 2px rgba(255, 255, 255, 0.95); |
| color: black; |
| } |
| |
| :enabled:hover:-webkit-any(select) { |
| /* OVERRIDE */ |
| background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAAICAQAAACxSAwfAAAAUUlEQVR4AWP4TxREZkYxpKHAKKzKEhOZvyG4zN8SE7Eq+6+wYCHbTwiT7eeChf8VsFsKVQhTxIDDbVCFfF8ginApgyp82wRShEcZVJIVzoJDAGqrgIJGRl20AAAAAElFTkSuQmCC), |
| linear-gradient(#f0f0f0, #f0f0f0 38%, #e0e0e0); |
| } |
| |
| /* Active *********************************************************************/ |
| |
| :enabled:active:-webkit-any( |
| select, |
| input[type='checkbox'], |
| input[type='radio'], |
| :-webkit-any( |
| button, |
| input[type='button'], |
| input[type='submit'])) { |
| background-image: linear-gradient(#e7e7e7, #e7e7e7 38%, #d7d7d7); |
| box-shadow: none; |
| text-shadow: none; |
| } |
| |
| :enabled:active:-webkit-any(select) { |
| /* OVERRIDE */ |
| background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAAICAQAAACxSAwfAAAAUUlEQVR4AWP4TxREZkYxpKHAKKzKEhOZvyG4zN8SE7Eq+6+wYCHbTwiT7eeChf8VsFsKVQhTxIDDbVCFfF8ginApgyp82wRShEcZVJIVzoJDAGqrgIJGRl20AAAAAElFTkSuQmCC), |
| linear-gradient(#e7e7e7, #e7e7e7 38%, #d7d7d7); |
| } |
| |
| /* Disabled *******************************************************************/ |
| |
| :disabled:-webkit-any( |
| button, |
| input[type='button'], |
| input[type='submit']), |
| select:disabled { |
| background-image: linear-gradient(#f1f1f1, #f1f1f1 38%, #e6e6e6); |
| border-color: rgba(80, 80, 80, 0.2); |
| box-shadow: 0 1px 0 rgba(80, 80, 80, 0.08), |
| inset 0 1px 2px rgba(255, 255, 255, 0.75); |
| color: #aaa; |
| } |
| |
| select:disabled { |
| /* OVERRIDE */ |
| background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAAICAQAAACxSAwfAAAASUlEQVR4AWP4TxREZkYxpKHAKKzKEhMb/iPDxESsyv4rLFiIULRg4X8F7JaCFSIUMeBwG1QhTBEuZVCFb5tAivAog0qywllwCAAavoiLhz+UlAAAAABJRU5ErkJggg==), |
| linear-gradient(#f1f1f1, #f1f1f1 38%, #e6e6e6); |
| } |
| |
| input:disabled:-webkit-any([type='checkbox'], |
| [type='radio']) { |
| opacity: .75; |
| } |
| |
| input:disabled:-webkit-any([type='password'], |
| [type='search'], |
| [type='text'], |
| [type='url'], |
| :not([type])) { |
| color: #999; |
| } |
| |
| /* Focus **********************************************************************/ |
| |
| :enabled:focus:-webkit-any( |
| select, |
| input[type='checkbox'], |
| input[type='number'], |
| input[type='password'], |
| input[type='radio'], |
| input[type='search'], |
| input[type='text'], |
| input[type='url'], |
| input:not([type]), |
| :-webkit-any( |
| button, |
| input[type='button'], |
| input[type='submit'])) { |
| /* OVERRIDE */ |
| -webkit-transition: border-color 200ms; |
| /* We use border color because it follows the border radius (unlike outline). |
| * This is particularly noticeable on mac. */ |
| border-color: rgb(77, 144, 254); |
| outline: none; |
| } |
| |
| /* Checkbox/radio helpers ****************************************************** |
| * |
| * .checkbox and .radio classes wrap labels. Checkboxes and radios should use |
| * these classes with the markup structure: |
| * |
| * <div class="checkbox"> |
| * <label> |
| * <input type="checkbox"> |
| * <span> |
| * </label> |
| * </div> |
| */ |
| |
| :-webkit-any(.checkbox, .radio) label { |
| /* Don't expand horizontally: <http://crbug.com/112091>. */ |
| align-items: center; |
| display: inline-flex; |
| padding-bottom: 7px; |
| padding-top: 7px; |
| } |
| |
| :-webkit-any(.checkbox, .radio) label input { |
| flex-shrink: 0; |
| } |
| |
| :-webkit-any(.checkbox, .radio) label input ~ span { |
| -webkit-margin-start: 0.6em; |
| /* Make sure long spans wrap at the same horizontal position they start. */ |
| display: block; |
| } |
| |
| :-webkit-any(.checkbox, .radio) label:hover { |
| color: black; |
| } |
| |
| label > input:disabled:-webkit-any([type='checkbox'], [type='radio']) ~ span { |
| color: #999; |
| } |