/* * 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. This is to prevent WebUI changes from * breaking extensions, however please keep the files in sync if possible. */ /* Prevent CSS from overriding the hidden property. */ [hidden] { display: none !important; } html.loading * { -webkit-transition-delay: 0 !important; -webkit-transition-duration: 0 !important; } body { cursor: default; margin: 0; } 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); } /* Elements that need to be LTR even in an RTL context, but should align * right. (Namely, URLs, search engine names, etc.) */ html[dir='rtl'] .weakrtl { direction: ltr; text-align: right; } /* Input fields in search engine table need to be weak-rtl. Since those input * fields are generated for all cr.ListItem elements (and we only want weakrtl * on some), the class needs to be on the enclosing div. */ html[dir='rtl'] div.weakrtl input { direction: ltr; text-align: right; } html[dir='rtl'] .favicon-cell.weakrtl { -webkit-padding-end: 22px; -webkit-padding-start: 0; } /* weakrtl for selection drop downs needs to account for the fact that * Webkit does not honor the text-align attribute for the select element. * (See Webkit bug #40216) */ html[dir='rtl'] select.weakrtl { direction: rtl; } html[dir='rtl'] select.weakrtl option { direction: ltr; } /* WebKit does not honor alignment for text specified via placeholder attribute. * This CSS is a workaround. Please remove once WebKit bug is fixed. * https://bugs.webkit.org/show_bug.cgi?id=63367 */ html[dir='rtl'] input.weakrtl::-webkit-input-placeholder, html[dir='rtl'] .weakrtl input::-webkit-input-placeholder { direction: rtl; } /* Default state **************************************************************/ :-webkit-any(button, input[type='button'], input[type='submit']):not(.custom-appearance):not(.link-button), select, input[type='checkbox'], input[type='radio'] { -webkit-appearance: none; -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); } :-webkit-any(button, input[type='button'], input[type='submit']):not(.custom-appearance):not(.link-button), select { min-height: 2em; min-width: 4em; <if expr="is_win"> /* The following platform-specific rule is necessary to get adjacent * buttons, text inputs, and so forth to align on their borders while also * aligning on the text's baselines. */ padding-bottom: 1px; </if> } :-webkit-any(button, input[type='button'], input[type='submit']):not(.custom-appearance):not(.link-button) { -webkit-padding-end: 10px; -webkit-padding-start: 10px; } select { -webkit-appearance: none; -webkit-padding-end: 20px; -webkit-padding-start: 6px; /* OVERRIDE */ background-image: url("../../../ui/webui/resources/images/select.png"), 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'] { bottom: 2px; height: 13px; position: relative; vertical-align: middle; width: 13px; } input[type='radio'] { /* OVERRIDE */ border-radius: 100%; bottom: 3px; 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; <if expr="is_win or is_macosx or is_ios"> /* For better alignment between adjacent buttons and inputs. */ padding-bottom: 4px; </if> } 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; } /* Remove when https://bugs.webkit.org/show_bug.cgi?id=51499 is fixed. * TODO(dbeam): are there more types that would benefit from this? */ input[type='search']::-webkit-textfield-decoration-container { direction: inherit; } /* Checked ********************************************************************/ input[type='checkbox']:checked::before { -webkit-user-select: none; background-image: url("../../../ui/webui/resources/images/check.png"); 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']):not(.custom-appearance):not(.link-button)) { 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("../../../ui/webui/resources/images/select.png"), 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']):not(.custom-appearance):not(.link-button)) { background-image: linear-gradient(#e7e7e7, #e7e7e7 38%, #d7d7d7); box-shadow: none; text-shadow: none; } :enabled:active:-webkit-any(select) { /* OVERRIDE */ background-image: url("../../../ui/webui/resources/images/select.png"), linear-gradient(#e7e7e7, #e7e7e7 38%, #d7d7d7); } /* Disabled *******************************************************************/ :disabled:-webkit-any( button, input[type='button'], input[type='submit']):not(.custom-appearance):not(.link-button), 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("../../../ui/webui/resources/images/disabled_select.png"), 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']):not(.custom-appearance):not(.link-button)) { /* 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; } /* Link buttons ***************************************************************/ .link-button { box-shadow: none; background: transparent none; border: none; color: rgb(17, 85, 204); cursor: pointer; /* Input elements have -webkit-small-control which can override the body font. * Resolve this by using 'inherit'. */ font: inherit; margin: 0; padding: 0 4px; } .link-button:hover { text-decoration: underline; } .link-button:active { color: rgb(5, 37, 119); text-decoration: underline; } .link-button[disabled] { color: #999; cursor: default; text-decoration: 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"></input> * <span> * </label> * </div> */ :-webkit-any(.checkbox, .radio) label { /* Don't expand horizontally: <http://crbug.com/112091>. */ display: inline-flex; padding-bottom: 7px; padding-top: 7px; } :-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; }