Как настроить текстовые поля ввода материала, чтобы сделать его более компактным?

Я работаю над приложением Angular, используя Material UI v7. Я считаю, что элементы управления вводом не компактны. Я хочу иметь более компактные текстовые поля. Я знаю, что их можно настроить, и я пытался, но не смог этого добиться. Может кто-нибудь помочь в этом, пожалуйста

Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Angular и React для вашего проекта веб-разработки?
Angular и React для вашего проекта веб-разработки?
Когда дело доходит до веб-разработки, выбор правильного front-end фреймворка имеет решающее значение. Angular и React - два самых популярных...
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Мы провели Twitter Space, обсудив несколько проблем, связанных с последними дополнениями в Angular. Также прошла Angular Tiny Conf с 25 докладами.
Угловой продивер
Угловой продивер
Оригинал этой статьи на турецком языке. ChatGPT используется только для перевода на английский язык.
Мое недавнее углубление в Angular
Мое недавнее углубление в Angular
Недавно я провел некоторое время, изучая фреймворк Angular, и я хотел поделиться своим опытом со всеми вами. Как человек, который любит глубоко...
Освоение Observables и Subjects в Rxjs:
Освоение Observables и Subjects в Rxjs:
Давайте начнем с основ и постепенно перейдем к более продвинутым концепциям в RxJS в Angular
0
0
125
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Да, вы можете этого добиться. Вы не поделились своим кодом, поэтому я не могу его изменить, но если вы хотите настроить его, вы можете сделать что-то вроде этого. Это означает, что вам нужно добавить mat-label за пределами mat-form-field, которого у вас нет.

 <div>
    <p>
      <mat-label>First Name </mat-label>
      <mat-form-field appearance = "outline">
        <input matInput />
      </mat-form-field>
    </p>

    <p>
      <mat-label>Last Name</mat-label>
      <mat-form-field appearance = "outline">
        <input matInput />
      </mat-form-field>
    </p>
  </div>
::ng-deep .mat-form-field-outline-start {
  border-radius: 0 !important;
  min-width: 30px !important;
}

::ng-deep .mat-form-field-outline-end {
  border-radius: 0 !important;
  min-width: 30px !important;
}

Пример Stackblitz V-6

Пример Stackblitz V-7


Это также влияет на некоторые другие правила CSS, но обновите таблицу стилей вашего компонента, добавив соответствующую переменную CSS:

:host {
  --mdc-outlined-text-field-container-shape: 0px;
}

Пример Stackblitz V-17

Спасибо @Rohit, как насчет высоты элемента управления и отсутствия закруглений углов?

Sam K 08.03.2024 09:34

@SamK Я также обновил решение и живой пример.

Rの卄IT 08.03.2024 09:59

Я попробовал тот же код в версии Material 7, но стили не применяются. Не могли бы вы помочь?

Sam K 08.03.2024 11:10

@SamK Я также обновил живой пример, совместимый с v7, но не думаю, что с этой версией есть какие-либо проблемы. Возможно, проблема с вашим глобальным стилем. Убедитесь, что вы применяете стили в правильном порядке.

Rの卄IT 08.03.2024 11:39

Мне очень жаль, Рохит, я имел в виду Angular 17 и автономные компоненты. По некоторым причинам стилизация вообще не рассматривается. Можете ли вы помочь

Sam K 08.03.2024 12:08

@SamK Я обновил свой ответ и добавил живой пример v17.

Rの卄IT 08.03.2024 17:14

Другие вопросы по теме