Изменить размер элемента ввода заголовка на дизайн ясности - PullRequest
0 голосов
/ 02 марта 2019

Я использую строку заголовка из примеров clarity.design, я возился с ней, пытаясь заставить входные данные поиска занимать 100% центра строки заголовка, но я не могу этого сделать.

код:

<clr-header class="header-6">
    <div class="branding">
      <a [routerLink]="['/']" routerLinkActive="router-link-active"  class="nav-link">
        <span class="title">Project Clarity</span>
      </a>
    </div>

    <form class="search" (ngSubmit)="onSearchSubmit(f)" #f="ngForm">
      <label for="search_input"></label>
      <input id="search_input" name="search_input" type="text" placeholder=" Search for keywords or paste link..." ngModel required>
    </form>

    <div class="header-actions">
      <div class="header-nav" [clr-nav-level]="1">
        <a class="nav-link nav-text">
          My menu
        </a>
      </div>

      <clr-dropdown>
        <button class="nav-icon" clrDropdownTrigger>
          <clr-icon shape="user"></clr-icon>
          <clr-icon shape="caret down"></clr-icon>
        </button>
        <clr-dropdown-menu *clrIfOpen clrPosition="bottom-right">
          <a clrDropdownItem>Preferences</a>
          <a clrDropdownItem>Log out</a>
        </clr-dropdown-menu>
      </clr-dropdown>
    </div>
  </clr-header>

Вот так это выглядит, я хочу, чтобы заголовок использовал всю оставшуюся ширину.bar screenshot

Спасибо.

Ответы [ 2 ]

0 голосов
/ 13 марта 2019

В заголовке используется flex box для макета.

Вот POC stackblitz , который использует ниже CSS для переопределения стилей поиска по умолчанию.

CSS

.search {
  border: 1px solid deeppink;
  flex: 1 1 auto;
  max-width: none;
}

.search > label {
  flex: 1 1 auto;
  max-width: 90%;
}

.search > label > input {
  width: 100%;
}

Это должно дать вамотправная точка для настройки визуального стиля ваших приложений.Возможно, вам также придется обратиться к отзывчивому варианту использования.

0 голосов
/ 03 марта 2019

Решением вашей проблемы является CSS.

Ниже приведен пример, показывающий, с чего можно начать.

Дайте мне знать, если это поможет вам.

/* First, make your elements float to the left or right */
.header-6 div
, .header-6 form {
  float: left;
}

div.header-actions{
  float: right;
}

/* Then give them some space */
div.branding
, form.search
, div.header-actions {
  padding-left: 20px;
  padding-right: 20px;;
}

 /* The rest is using FontAwesome and CSS to add the icons and the other stuff */
<clr-header class="header-6">
    <div class="branding">
      <a [routerLink]="['/']" routerLinkActive="router-link-active"  class="nav-link">
        <span class="title">Project Clarity</span>
      </a>
    </div>

    <form class="search" (ngSubmit)="onSearchSubmit(f)" #f="ngForm">
      <label for="search_input"></label>
      <input id="search_input" name="search_input" type="text" placeholder=" Search for keywords or paste link..." ngModel required>
    </form>

    <div class="header-actions">
      <div class="header-nav" [clr-nav-level]="1">
        <a class="nav-link nav-text">
          My menu
        </a>
      </div>

      <clr-dropdown>
        <button class="nav-icon" clrDropdownTrigger>
          <clr-icon shape="user"></clr-icon>
          <clr-icon shape="caret down"></clr-icon>
        </button>
        <clr-dropdown-menu *clrIfOpen clrPosition="bottom-right">
          <a clrDropdownItem>Preferences</a>
          <a clrDropdownItem>Log out</a>
        </clr-dropdown-menu>
      </clr-dropdown>
    </div>
  </clr-header>
...