2016-07-18 174 views
5

Sto cercando di assegnare un input in modo che sia di una certa larghezza. Sto usando Angular Material 2 ma per qualche motivo gli stili nel css non vengono applicati al tag di input. Here is a working plunker of my issue insieme al codice interessato:Stili personalizzati per ingressi con materiale angolare 2

@Component({ 
    selector: 'my-app', 
    template: ` 
    <div> 
    <form> 
     <md-input [(ngModel)]="cycleTime" type="number" name="email"> 
     <span md-prefix>Cycle Time:</span> 
     <span md-suffix>&nbsp;minutes</span> 
     </md-input> 
    </form> 
    </div> 
    `, 
    styles:[` 
     input { 
     width: 50px; 
     text-align: right; 
     } 
    `], 
    directives: [MdButton, MdInput] 
}) 
export class AppComponent { 
    cycleTime = 1 

    constructor() {} 
} 

Come posso lo stile l'input che viene creato dal materiale angolare 2?

risposta

9

Si può cercare di ignorare gli stili di MdInput componente in questo modo:

:host input.md-input-element { 
    width: 50px; 
    text-align: right; 
} 

Plunker example

O in questo modo:

/deep/ input { 
    width: 50px !important; 
    text-align: right; 
} 

:host-context .md-input-infix input { 
    width: 50px; 
    text-align: right; 
} 
+0

Questa soluzione effetti tutti gli ingressi. C'è un modo per farlo per un solo input o un gruppo di input? – Hayzum