mirror of
https://github.com/ionic-team/ionic-framework.git
synced 2025-11-09 08:09:32 +08:00
fix(inputs): better customization for placeholder color
This commit is contained in:
@ -81,7 +81,6 @@
|
|||||||
// --------------------------------------------------
|
// --------------------------------------------------
|
||||||
|
|
||||||
.alert-input {
|
.alert-input {
|
||||||
@include placeholder($alert-ios-input-placeholder-color);
|
|
||||||
@include border-radius($alert-ios-input-border-radius);
|
@include border-radius($alert-ios-input-border-radius);
|
||||||
@include margin($alert-ios-input-margin-top, null, null, null);
|
@include margin($alert-ios-input-margin-top, null, null, null);
|
||||||
@include padding($alert-ios-input-padding-top, $alert-ios-input-padding-end, $alert-ios-input-padding-bottom, $alert-ios-input-padding-start);
|
@include padding($alert-ios-input-padding-top, $alert-ios-input-padding-end, $alert-ios-input-padding-bottom, $alert-ios-input-padding-start);
|
||||||
@ -90,6 +89,14 @@
|
|||||||
|
|
||||||
background-color: $alert-ios-input-background-color;
|
background-color: $alert-ios-input-background-color;
|
||||||
appearance: none;
|
appearance: none;
|
||||||
|
|
||||||
|
&::placeholder {
|
||||||
|
color: $alert-ios-input-placeholder-color;
|
||||||
|
|
||||||
|
font-family: inherit;
|
||||||
|
font-weight: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -66,12 +66,18 @@
|
|||||||
// --------------------------------------------------
|
// --------------------------------------------------
|
||||||
|
|
||||||
.alert-input {
|
.alert-input {
|
||||||
@include placeholder($alert-md-input-placeholder-color);
|
|
||||||
@include margin($alert-md-input-margin-top, $alert-md-input-margin-end, $alert-md-input-margin-bottom, $alert-md-input-margin-start);
|
@include margin($alert-md-input-margin-top, $alert-md-input-margin-end, $alert-md-input-margin-bottom, $alert-md-input-margin-start);
|
||||||
|
|
||||||
border-bottom: $alert-md-input-border-width $alert-md-input-border-style $alert-md-input-border-color;
|
border-bottom: $alert-md-input-border-width $alert-md-input-border-style $alert-md-input-border-color;
|
||||||
|
|
||||||
color: $alert-md-input-text-color;
|
color: $alert-md-input-text-color;
|
||||||
|
|
||||||
|
&::placeholder {
|
||||||
|
color: $alert-md-input-placeholder-color;
|
||||||
|
|
||||||
|
font-family: inherit;
|
||||||
|
font-weight: inherit;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.alert-input:focus {
|
.alert-input:focus {
|
||||||
|
|||||||
@ -6,7 +6,6 @@
|
|||||||
--padding-end: #{$input-ios-padding-end};
|
--padding-end: #{$input-ios-padding-end};
|
||||||
--padding-bottom: #{$input-ios-padding-bottom};
|
--padding-bottom: #{$input-ios-padding-bottom};
|
||||||
--padding-start: #{$input-ios-padding-start};
|
--padding-start: #{$input-ios-padding-start};
|
||||||
--placeholder-color: #{$input-ios-placeholder-color};
|
|
||||||
|
|
||||||
font-family: $input-ios-font-family;
|
font-family: $input-ios-font-family;
|
||||||
font-size: $input-ios-font-size;
|
font-size: $input-ios-font-size;
|
||||||
|
|||||||
@ -10,7 +10,6 @@
|
|||||||
--padding-end: #{$input-md-padding-end};
|
--padding-end: #{$input-md-padding-end};
|
||||||
--padding-bottom: #{$input-md-padding-bottom};
|
--padding-bottom: #{$input-md-padding-bottom};
|
||||||
--padding-start: #{$input-md-padding-start};
|
--padding-start: #{$input-md-padding-start};
|
||||||
--placeholder-color: #{$input-md-placeholder-color};
|
|
||||||
|
|
||||||
font-family: $input-md-font-family;
|
font-family: $input-md-font-family;
|
||||||
font-size: $input-md-font-size;
|
font-size: $input-md-font-size;
|
||||||
|
|||||||
@ -4,7 +4,9 @@
|
|||||||
// --------------------------------------------------
|
// --------------------------------------------------
|
||||||
|
|
||||||
:host {
|
:host {
|
||||||
|
--placeholder-color: currentColor;
|
||||||
--placeholder-weight: inherit;
|
--placeholder-weight: inherit;
|
||||||
|
--placeholder-opacity: .5;
|
||||||
--padding-top: 0;
|
--padding-top: 0;
|
||||||
--padding-end: 0;
|
--padding-end: 0;
|
||||||
--padding-bottom: 0;
|
--padding-bottom: 0;
|
||||||
@ -57,6 +59,8 @@
|
|||||||
|
|
||||||
font-family: inherit;
|
font-family: inherit;
|
||||||
font-weight: var(--placeholder-weight);
|
font-weight: var(--placeholder-weight);
|
||||||
|
|
||||||
|
opacity: var(--placeholder-opacity);
|
||||||
}
|
}
|
||||||
|
|
||||||
&:-webkit-autofill {
|
&:-webkit-autofill {
|
||||||
|
|||||||
@ -5,10 +5,15 @@
|
|||||||
// --------------------------------------------------
|
// --------------------------------------------------
|
||||||
|
|
||||||
:host {
|
:host {
|
||||||
|
--clear-button-color: #{$searchbar-ios-input-clear-icon-color};
|
||||||
|
--cancel-button-color: #{$searchbar-ios-cancel-button-color};
|
||||||
|
|
||||||
@include padding($searchbar-ios-padding-top, $searchbar-ios-padding-end, $searchbar-ios-padding-bottom, $searchbar-ios-padding-start);
|
@include padding($searchbar-ios-padding-top, $searchbar-ios-padding-end, $searchbar-ios-padding-bottom, $searchbar-ios-padding-start);
|
||||||
|
|
||||||
height: $searchbar-ios-input-height + $searchbar-ios-padding-top + $searchbar-ios-padding-bottom;
|
height: $searchbar-ios-input-height + $searchbar-ios-padding-top + $searchbar-ios-padding-bottom;
|
||||||
|
|
||||||
|
color: $searchbar-ios-input-text-color;
|
||||||
|
|
||||||
font-family: $searchbar-ios-font-family;
|
font-family: $searchbar-ios-font-family;
|
||||||
|
|
||||||
contain: strict;
|
contain: strict;
|
||||||
@ -43,14 +48,12 @@
|
|||||||
// -----------------------------------------
|
// -----------------------------------------
|
||||||
|
|
||||||
.searchbar-input {
|
.searchbar-input {
|
||||||
@include placeholder($searchbar-ios-input-placeholder-color);
|
|
||||||
@include padding(0, 28px);
|
@include padding(0, 28px);
|
||||||
@include border-radius($searchbar-ios-input-border-radius);
|
@include border-radius($searchbar-ios-input-border-radius);
|
||||||
|
|
||||||
height: 100%;
|
height: 100%;
|
||||||
|
|
||||||
background-color: $searchbar-ios-input-background-color;
|
background-color: $searchbar-ios-input-background-color;
|
||||||
color: $searchbar-ios-input-text-color;
|
|
||||||
|
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
@ -74,7 +77,6 @@
|
|||||||
border: 0;
|
border: 0;
|
||||||
|
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
color: $searchbar-ios-input-clear-icon-color;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.searchbar-clear-icon {
|
.searchbar-clear-icon {
|
||||||
@ -98,7 +100,6 @@
|
|||||||
outline: none;
|
outline: none;
|
||||||
|
|
||||||
background-color: $searchbar-ios-cancel-button-background-color;
|
background-color: $searchbar-ios-cancel-button-background-color;
|
||||||
color: $searchbar-ios-cancel-button-color;
|
|
||||||
|
|
||||||
font-size: $searchbar-ios-cancel-button-font-size;
|
font-size: $searchbar-ios-cancel-button-font-size;
|
||||||
|
|
||||||
@ -173,8 +174,6 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
:host-context(ion-toolbar.ion-color) .searchbar-input {
|
:host-context(ion-toolbar.ion-color) .searchbar-input {
|
||||||
@include placeholder(currentColor, $opacity: .5);
|
|
||||||
|
|
||||||
background: rgba(var(--ion-color-contrast-rgb), $searchbar-ios-input-background-color-alpha);
|
background: rgba(var(--ion-color-contrast-rgb), $searchbar-ios-input-background-color-alpha);
|
||||||
color: currentColor;
|
color: currentColor;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -5,10 +5,15 @@
|
|||||||
// --------------------------------------------------
|
// --------------------------------------------------
|
||||||
|
|
||||||
:host {
|
:host {
|
||||||
|
--clear-button-color: currentColor;
|
||||||
|
--cancel-button-color: #{$searchbar-md-cancel-button-color};
|
||||||
|
|
||||||
@include padding($searchbar-md-padding-top, $searchbar-md-padding-end, $searchbar-md-padding-bottom, $searchbar-md-padding-start);
|
@include padding($searchbar-md-padding-top, $searchbar-md-padding-end, $searchbar-md-padding-bottom, $searchbar-md-padding-start);
|
||||||
|
|
||||||
background: $searchbar-md-background;
|
background: $searchbar-md-background;
|
||||||
|
|
||||||
|
color: $searchbar-md-input-text-color;
|
||||||
|
|
||||||
font-family: $searchbar-md-font-family;
|
font-family: $searchbar-md-font-family;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -40,7 +45,6 @@
|
|||||||
border: 0;
|
border: 0;
|
||||||
|
|
||||||
background-color: $searchbar-md-cancel-button-background-color;
|
background-color: $searchbar-md-cancel-button-background-color;
|
||||||
color: $searchbar-md-cancel-button-color;
|
|
||||||
|
|
||||||
font-size: $searchbar-md-cancel-button-font-size;
|
font-size: $searchbar-md-cancel-button-font-size;
|
||||||
}
|
}
|
||||||
@ -63,7 +67,6 @@
|
|||||||
// -----------------------------------------
|
// -----------------------------------------
|
||||||
|
|
||||||
.searchbar-input {
|
.searchbar-input {
|
||||||
@include placeholder($searchbar-md-input-placeholder-color);
|
|
||||||
@include padding(6px, 55px);
|
@include padding(6px, 55px);
|
||||||
@include border-radius($searchbar-md-input-border-radius);
|
@include border-radius($searchbar-md-input-border-radius);
|
||||||
@include background-position(start, 8px, center);
|
@include background-position(start, 8px, center);
|
||||||
@ -71,7 +74,6 @@
|
|||||||
height: $searchbar-md-input-height;
|
height: $searchbar-md-input-height;
|
||||||
|
|
||||||
background-color: $searchbar-md-input-background-color;
|
background-color: $searchbar-md-input-background-color;
|
||||||
color: $searchbar-md-input-text-color;
|
|
||||||
|
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
|
|||||||
@ -4,6 +4,10 @@
|
|||||||
// --------------------------------------------------
|
// --------------------------------------------------
|
||||||
|
|
||||||
:host {
|
:host {
|
||||||
|
--placeholder-color: currentColor;
|
||||||
|
--placeholder-weight: inherit;
|
||||||
|
--placeholder-opacity: .5;
|
||||||
|
|
||||||
@include font-smoothing();
|
@include font-smoothing();
|
||||||
|
|
||||||
display: flex;
|
display: flex;
|
||||||
@ -30,6 +34,8 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.searchbar-input {
|
.searchbar-input {
|
||||||
|
@include text-inherit();
|
||||||
|
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
|
|
||||||
display: block;
|
display: block;
|
||||||
@ -43,11 +49,24 @@
|
|||||||
font-family: inherit;
|
font-family: inherit;
|
||||||
appearance: none;
|
appearance: none;
|
||||||
|
|
||||||
|
&::placeholder {
|
||||||
|
color: var(--placeholder-color);
|
||||||
|
|
||||||
|
font-family: inherit;
|
||||||
|
font-weight: var(--placeholder-weight);
|
||||||
|
|
||||||
|
opacity: var(--placeholder-opacity);
|
||||||
|
}
|
||||||
|
|
||||||
&::-webkit-search-cancel-button {
|
&::-webkit-search-cancel-button {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.searchbar-cancel-button {
|
||||||
|
color: var(--cancel-button-color);
|
||||||
|
}
|
||||||
|
|
||||||
.searchbar-clear-button {
|
.searchbar-clear-button {
|
||||||
@include margin(0);
|
@include margin(0);
|
||||||
@include padding(0);
|
@include padding(0);
|
||||||
@ -57,6 +76,8 @@
|
|||||||
min-height: 0;
|
min-height: 0;
|
||||||
|
|
||||||
outline: none;
|
outline: none;
|
||||||
|
|
||||||
|
color: var(--clear-button-color);
|
||||||
appearance: none;
|
appearance: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -9,7 +9,6 @@
|
|||||||
--padding-end: #{$textarea-ios-padding-end};
|
--padding-end: #{$textarea-ios-padding-end};
|
||||||
--padding-bottom: #{$textarea-ios-padding-bottom};
|
--padding-bottom: #{$textarea-ios-padding-bottom};
|
||||||
--padding-start: #{$textarea-ios-padding-start};
|
--padding-start: #{$textarea-ios-padding-start};
|
||||||
--placeholder-color: #{$textarea-ios-placeholder-color};
|
|
||||||
|
|
||||||
font-family: $textarea-ios-font-family;
|
font-family: $textarea-ios-font-family;
|
||||||
font-size: $textarea-ios-font-size;
|
font-size: $textarea-ios-font-size;
|
||||||
|
|||||||
@ -9,7 +9,6 @@
|
|||||||
--padding-end: #{$textarea-md-padding-end};
|
--padding-end: #{$textarea-md-padding-end};
|
||||||
--padding-bottom: #{$textarea-md-padding-bottom};
|
--padding-bottom: #{$textarea-md-padding-bottom};
|
||||||
--padding-start: #{$textarea-md-padding-start};
|
--padding-start: #{$textarea-md-padding-start};
|
||||||
--placeholder-color: #{$textarea-md-placeholder-color};
|
|
||||||
|
|
||||||
font-family: $textarea-md-font-family;
|
font-family: $textarea-md-font-family;
|
||||||
font-size: $textarea-md-font-size;
|
font-size: $textarea-md-font-size;
|
||||||
|
|||||||
@ -4,6 +4,9 @@
|
|||||||
// --------------------------------------------------
|
// --------------------------------------------------
|
||||||
|
|
||||||
:host {
|
:host {
|
||||||
|
--placeholder-color: currentColor;
|
||||||
|
--placeholder-weight: inherit;
|
||||||
|
--placeholder-opacity: .5;
|
||||||
--padding-top: 0;
|
--padding-top: 0;
|
||||||
--padding-end: 0;
|
--padding-end: 0;
|
||||||
--padding-bottom: 0;
|
--padding-bottom: 0;
|
||||||
@ -37,7 +40,6 @@
|
|||||||
.native-textarea {
|
.native-textarea {
|
||||||
@include text-inherit();
|
@include text-inherit();
|
||||||
@include border-radius(var(--border-radius));
|
@include border-radius(var(--border-radius));
|
||||||
@include placeholder(var(--placeholder-color));
|
|
||||||
@include margin(0);
|
@include margin(0);
|
||||||
@include padding(var(--padding-top), var(--padding-end), var(--padding-bottom), var(--padding-start));
|
@include padding(var(--padding-top), var(--padding-end), var(--padding-bottom), var(--padding-start));
|
||||||
|
|
||||||
@ -55,6 +57,15 @@
|
|||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
resize: none;
|
resize: none;
|
||||||
appearance: none;
|
appearance: none;
|
||||||
|
|
||||||
|
&::placeholder {
|
||||||
|
color: var(--placeholder-color);
|
||||||
|
|
||||||
|
font-family: inherit;
|
||||||
|
font-weight: var(--placeholder-weight);
|
||||||
|
|
||||||
|
opacity: var(--placeholder-opacity);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.native-textarea[disabled] {
|
.native-textarea[disabled] {
|
||||||
|
|||||||
@ -35,35 +35,6 @@
|
|||||||
-webkit-font-smoothing: antialiased;
|
-webkit-font-smoothing: antialiased;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Input Placeholder
|
|
||||||
// --------------------------------------------------
|
|
||||||
|
|
||||||
@mixin placeholder($color: #999, $text-indent: 0, $opacity: null) {
|
|
||||||
&::-moz-placeholder { // Firefox 19+
|
|
||||||
color: $color;
|
|
||||||
@if ($opacity) {
|
|
||||||
opacity: $opacity;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
&:-ms-input-placeholder {
|
|
||||||
color: $color;
|
|
||||||
@if ($opacity) {
|
|
||||||
opacity: $opacity;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
&::-webkit-input-placeholder {
|
|
||||||
// Safari placeholder margin issue
|
|
||||||
text-indent: $text-indent;
|
|
||||||
color: $color;
|
|
||||||
@if ($opacity) {
|
|
||||||
opacity: $opacity;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Get the key from a map based on the index
|
// Get the key from a map based on the index
|
||||||
@function index-to-key($map, $index) {
|
@function index-to-key($map, $index) {
|
||||||
$keys: map-keys($map);
|
$keys: map-keys($map);
|
||||||
|
|||||||
Reference in New Issue
Block a user