2016-11-25 2 views
0

Ich versuche, die .md-input-element auf md-input zu stylen, die standardmäßig von angular-material.css hinzugefügt wird, die scheint, kann ich nicht zur Arbeit kommen. Ich versuche, den Buchstaben-Abstand-Stil hinzuzufügen, aber es funktioniert nur als Strom. Stil auf der Konsole. Gibt es eine Möglichkeit, diesen bestimmten Stil für md-input-element in meiner eigenen CSS-Datei zu überschreiben?Styling md-input-element

Mein HTML-Code ist wie folgt:

<!-- Input Name* --> 
       <div class="mdl-grid"> 
        <div class="mdl-cell mdl-cell--12-col mdl-cell--8-col-tablet mdl-cell--4-col-phone"> 
         <div class="name-padding"> 
          <md-input class="mdl-textfield--full-width" mandatory type="text" id="name" formControlName="name" placeholder="Name" 
           [(ngModel)]="outlet.name"> 
           <md-hint *ngIf="formErrors.name">{{ formErrors.name }}</md-hint> 
          </md-input> 
         </div> 
        </div> 
       </div> 

css:

.md-input-element { 
    letter-spacing: 0 !important; 
} 
+1

Versuchen Sie es mit wichtig in Ihrem CSS .. '!. md-input-element {Buchstabenabstand: 0! wichtig; } ' –

+0

fügen Sie etwas Code hinzu? –

+0

Es würde immer noch nicht betroffen werden – Ichorville

Antwort

0

Wenn Sie den Stil in der Komponente festgelegt, dass die genannten enthält HTML-Code, dann wird es nicht wegen des Standards ViewEncapsulation funktionieren. Der Standard ist Emulated und Ihren CSS-Selektor zu so etwas wie die folgenden während der Laufzeit ändern:

.md-input-element[_ngcontent-xsa-40] { 
{ 
    letter-spacing: 1px; 
} 

wird Dieser Selektor nicht mit class="md-input-element" der md-input wegen des beigefügten Attributs übereinstimmen.

Jetzt haben Sie drei Möglichkeiten

  1. Use/deep/: Sie können Ihren Selektor tief umschreiben. Z.B. :host /deep/ .md-input-element, damit Angular2 das kryptische Attribut zu Ihrem Selektor hinzufügt.
  2. Ändern ViewEncapsulation: Sie können Ihre ViewEncapsulation in None ändern, um zu verhindern, dass Angular2 das kryptische Attribut zu Ihrem Selektor hinzufügt.
  3. Globale Stil: Fügen Sie den Stil zu einem globalen style.css zu bekommen um die ViewEncapsulation

Schauen Sie hier, um weitere Informationen über Ihre Komponenten Styling https://angular.io/docs/ts/latest/guide/component-styles.html

+0

Ich benutze es gerade in der styles.css. Dafür muss ich noch einmal auf die eckigen Dokumente schauen. Danke dafür :) – Ichorville

0

versuchen, mit unter Selektor

md-input-container:not(.md-input-invalid).md-input-focused .md-input { 
    letter-spacing:0!important; 
    border-color: orange; 
} 
+0

Es funktioniert immer noch nicht. Ich benutze Angular-Material2 Alpha9.3 und MD-Input-Container ist nicht in dieser Version enthalten, nicht wahr? – Ichorville