SimpleSearch: Standardize input appearance
Unifying Vector input appearance to follow Design Style Guide and OOUI, additionally: - Simplifying LESS code, reducing specificity to minimum needed - Providing fallbacks where necessary to a wide range of browsers including IE8 - Better positioning and larger click area of search button Bug: T225331 Change-Id: Iafeddf670a9c087e66acf5463c99351fc2d5d78c
This commit is contained in:
parent
e74d411edb
commit
0c77e4f223
|
@ -11,101 +11,101 @@
|
||||||
.mixin-screen-reader-text;
|
.mixin-screen-reader-text;
|
||||||
}
|
}
|
||||||
|
|
||||||
form,
|
form {
|
||||||
input {
|
margin: 0.5em 0 0;
|
||||||
margin: 0.4em 0 0;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#simpleSearch {
|
#simpleSearch {
|
||||||
background-color: #fff;
|
|
||||||
.background-image( 'images/search-fade.png' );
|
|
||||||
background-position: top left;
|
|
||||||
background-repeat: repeat-x;
|
|
||||||
color: #000;
|
|
||||||
display: block;
|
display: block;
|
||||||
width: 12.6em;
|
width: 13.2em;
|
||||||
width: 20vw; /* responsive width */
|
width: 20vw; /* responsive width */
|
||||||
min-width: 5em;
|
min-width: 5em;
|
||||||
max-width: 20em;
|
max-width: 20em;
|
||||||
padding-right: 1.4em;
|
height: 100%;
|
||||||
height: 1.4em;
|
margin-top: 0;
|
||||||
margin-top: 0.65em;
|
|
||||||
position: relative;
|
position: relative;
|
||||||
min-height: 1px; /* Gotta trigger hasLayout for IE7 */
|
min-height: 1px; /* Gotta trigger hasLayout for IE7 */
|
||||||
border: 1px solid @colorGray10;
|
|
||||||
border-radius: @borderRadius;
|
|
||||||
.transition( border-color 250ms );
|
|
||||||
|
|
||||||
&:hover {
|
// Styles for both the search input and the button.
|
||||||
|
input {
|
||||||
|
// Support IE6-8:; Fallback for browsers, which don't support `rgba()`.
|
||||||
|
background-color: @background-color-base;
|
||||||
|
background-color: rgba( 0, 0, 0, 0 );
|
||||||
|
color: #000;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// The search input.
|
||||||
|
#searchInput {
|
||||||
|
width: 100%;
|
||||||
|
.box-sizing( border-box );
|
||||||
|
border: @border-width-base solid @colorGray10;
|
||||||
|
border-radius: @borderRadius;
|
||||||
|
// `padding-right` equals to `#searchbutton` width below.
|
||||||
|
padding: 0.4em 1.818em 0.4em 0.4em;
|
||||||
|
.box-shadow( @boxShadowWidget );
|
||||||
|
font-size: 0.8125em; // Equals to `13px` at browser default of `16px`.
|
||||||
|
direction: ltr;
|
||||||
|
.transition( ~'border-color 250ms, box-shadow 250ms' );
|
||||||
|
// Support: Webkit browsers. Undo the proprietary styles applied to `type=search` fields,
|
||||||
|
// we provide our own.
|
||||||
|
-webkit-appearance: textfield;
|
||||||
|
|
||||||
|
#simpleSearch:hover & {
|
||||||
border-color: @colorGray7;
|
border-color: @colorGray7;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Styles for both the search input and the button
|
&:focus,
|
||||||
input {
|
#simpleSearch:hover &:focus {
|
||||||
background-color: transparent;
|
outline: 0;
|
||||||
color: #000;
|
border-color: @colorProgressive;
|
||||||
margin: 0;
|
.box-shadow( @boxShadowProgressiveFocus );
|
||||||
padding: 0;
|
|
||||||
border: 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// The search input
|
.mixin-placeholder( {
|
||||||
#searchInput {
|
color: @colorGray7;
|
||||||
width: 100%;
|
opacity: 1;
|
||||||
padding: 0.2em 0 0.2em 0.2em;
|
} );
|
||||||
font-size: 0.8125em; // equals `13px` at browser default of `16px`
|
|
||||||
direction: ltr;
|
|
||||||
|
|
||||||
&:focus {
|
&::-webkit-search-decoration,
|
||||||
outline: 0;
|
&::-webkit-search-cancel-button,
|
||||||
}
|
&::-webkit-search-results-button,
|
||||||
|
&::-webkit-search-results-decoration {
|
||||||
/* stylelint-disable indentation */
|
|
||||||
.mixin-placeholder( {
|
|
||||||
color: @colorGray7;
|
|
||||||
opacity: 1;
|
|
||||||
} );
|
|
||||||
/* stylelint-enable indentation */
|
|
||||||
|
|
||||||
// Undo the styles Webkit browsers apply to type=search fields,
|
|
||||||
// we provide our own
|
|
||||||
-webkit-appearance: textfield;
|
-webkit-appearance: textfield;
|
||||||
|
|
||||||
&::-webkit-search-decoration,
|
|
||||||
&::-webkit-search-cancel-button,
|
|
||||||
&::-webkit-search-results-button,
|
|
||||||
&::-webkit-search-results-decoration {
|
|
||||||
-webkit-appearance: textfield;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// The buttons. They are displayed in the same position, and if both are
|
|
||||||
// present the fulltext search one obscures the 'Go' one.
|
|
||||||
#searchButton,
|
|
||||||
#mw-searchButton {
|
|
||||||
position: absolute;
|
|
||||||
top: 0;
|
|
||||||
right: 0;
|
|
||||||
width: 1.65em;
|
|
||||||
height: 100%;
|
|
||||||
cursor: pointer;
|
|
||||||
/* Hide button text and replace it with the image. */
|
|
||||||
text-indent: -99999px;
|
|
||||||
/* Opera 12 on RTL flips the text in a funny way without this. */
|
|
||||||
/* @noflip */
|
|
||||||
direction: ltr;
|
|
||||||
white-space: nowrap;
|
|
||||||
overflow: hidden;
|
|
||||||
}
|
|
||||||
|
|
||||||
#searchButton {
|
|
||||||
.background-image-svg( 'images/search-ltr.svg', 'images/search-ltr.png' );
|
|
||||||
background-position: center center;
|
|
||||||
background-repeat: no-repeat;
|
|
||||||
}
|
|
||||||
|
|
||||||
#mw-searchButton {
|
|
||||||
z-index: 1;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// The buttons. They are displayed in the same position, and if both are
|
||||||
|
// present the fulltext search one obscures the 'Go' one.
|
||||||
|
#searchButton,
|
||||||
|
#mw-searchButton {
|
||||||
|
position: absolute;
|
||||||
|
top: @border-width-base;
|
||||||
|
bottom: @border-width-base;
|
||||||
|
right: @border-width-base;
|
||||||
|
min-width: 20px;
|
||||||
|
width: 1.818em; // Equals to `20px` at `11px` base.
|
||||||
|
border: 0;
|
||||||
|
padding: 0;
|
||||||
|
cursor: pointer;
|
||||||
|
/* Opera 12 on RTL flips the text in a funny way without this. */
|
||||||
|
/* @noflip */
|
||||||
|
direction: ltr;
|
||||||
|
/* Hide button text and replace it with the image. */
|
||||||
|
text-indent: -99999px;
|
||||||
|
white-space: nowrap;
|
||||||
|
overflow: hidden;
|
||||||
|
z-index: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
#searchButton {
|
||||||
|
.background-image-svg( 'images/search-ltr.svg', 'images/search-ltr.png' );
|
||||||
|
background-position: center center;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
}
|
||||||
|
|
||||||
|
#mw-searchButton {
|
||||||
|
z-index: 1;
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue