2016-07-18 1 views
5

Я пытаюсь стилизовать ввод так, чтобы он был определенной ширины. Я использую Angular Material 2, но по какой-то причине стили в css не применяются к входному тегу. Here is a working plunker of my issue вместе с пораженным кодом:Пользовательские стили на входах с угловым материалом 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() {} 
} 

Как стилизовать вход который создается с помощью углового материала 2?

ответ

9

Вы можете попробовать переопределить стили MdInput компонента, как это:

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

Plunker example

Или так:

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

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

Это решение эффекты все входы. Есть ли способ сделать это только для одного входа или группы ввода? – Hayzum