angular - Ändra markören och ta bort underliggande linje
<div class="clientxxx-table-field">
<div id="client-table"
*ngIf="displayedColumnsOfClient != null && dataSourceOfClient != null"
class="table-container mat-elevation-z8 verticalScrollableParent"
[style.max-height.px]="'400'">
<div class="FilterAndFilterUsed client-header">
<div class="table-name">Client</div>
<mat-form-field class="filter">
<input class="filter-input"
matInput (keyup)="leftTableFilter($event.target.value)">
<mat-placeholder class="placeholder">Filter</mat-placeholder>
</mat-form-field>
<mat-slide-toggle class="FilterUsed"
(change)="leftFilterUsed($event)">
Used
</mat-slide-toggle>
</div>
</div>
</div>
Jag har ett mat-form-field identifierat med klassen filter. Jag försöker göra typsnittets markör "vit" och få den blå linjen som visas när elementet är i fokus att försvinna. Ändringarna ska endast gälla för inputfältet i elementen med klassen "filter".
Jag har hittat några referenser (exempel) men saker i materialet förändras ofta, så jag är lite vilse.
.filter
input
caret-color: white;
.mat-focused .mat-form-field-underline
display: none;
Markören (caret) är inte vit men .mat-form-field-underline/.mat-form-field-ripple är fortfarande där.
Svar #1
Varsågod - StackBlitz
::ng-deep .filter {
background: green;
}
::ng-deep .filter.mat-focused .mat-form-field-underline {
display: none;
}
::ng-deep .filter input {
caret-color: white;
}
Svar #2
Du kan ändra markörfärgen med stilen caret-color. När det gäller den blå linjen under inmatningen behöver du gömma .mat-form-field-ripple som visas när mat-form-field har fokus.
.filter input {
caret-color: white;
}
.filter.mat-focused .mat-form-field-ripple {
display: none;
}
