繁体   English   中英

Angular材料:如何正确对齐matInput占位符?

[英]Angular material: How to right align matInput placeholder?

我有这个简单的代码:

<body style="direction: rtl; text-align: right">
    <mat-form-field>        
        <input matInput placeholder="Wanna be rtl" />
    </mat-form-field>
</body>

但无论我想要什么,占位符都保持从左到右。 有没有办法让它与右边对齐?

在表单字段上使用text-align将起作用:请参阅StackBlitz示例

此解决方案将占位符和输入文本对齐到右侧:

<body>
    <mat-form-field style="text-align: right">        
        <input matInput placeholder="Wanna be rtl" />
    </mat-form-field>
</body>

结果: 在此输入图像描述

如果您只想将占位符对齐并保持输入文本左对齐,则将style="text-align: left"到输入中,如下所示

<body>
    <mat-form-field style="text-align: right">        
        <input matInput placeholder="Wanna be rtl" style="text-align: left"/>
    </mat-form-field>
</body>

结果: 在此输入图像描述

过了一段时间我遇到了mat-form-field的sass,我发现如果mat-form-field的父mat-form-fielddir="rtl"属性,它就像rtl一样:

<body dir="rtl">
   <mat-form-field>        
       <input matInput placeholder="I am rtl" />
   </mat-form-field>
</body>

使用CDK中的双向性模块:

import {BidiModule} from '@angular/cdk/bidi';

...

<body dir="rtl">
    <mat-form-field>        
        <input matInput placeholder="I am RTL" />
    </mat-form-field>
</body>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM