Стилизация материализует выбор с помощью materialize из директивы angular 2 materialize

#css #angular #sass #materialize

#css #angular #sass #материализовать

Вопрос:

Я пытаюсь стилизовать поле ввода поля выбора, которое создает materialize css. Я использую директиву angular 2 materialize. Вот как выглядит мой html:

 <div class="input-field col s12">
  <select id="property-selector" materialize="material_select" name="propertySelector">
    <option class="property-option">Address 1, 1000AA Amsterdam, The Netherlands</option>
  </select>
</div>
  

Вот как выглядит scss:

 #property-selector-card {
  font-family: 'Roboto', Arial, Helvetica, sans-serif;
  font-weight: 500;
  color: #118073;
  font-size: 17pt;
  div.select-wrapper {
    .select-wrapper input.select-dropdown {
      border-bottom: none !important;
    }
  }
}
  

Это генерирует следующий HTML-код в браузере:

 <div _ngcontent-kld-6="" class="card-panel row" id="property-selector-card">
  <div _ngcontent-kld-6="" class="input-field col s12">
    <div class="select-wrapper initialized"><span class="caret"></span>
      <input type="text" class="select-dropdown" readonly="true" data-activates="select-options-95a42e27-1c84-d800-0534-aaaaeb70c462" value="Address 1, 1000AA Amsterdam, The Netherlands"><ul id="select-options-95a42e27-1c84-d800-0534-aaaaeb70c462" class="dropdown-content select-dropdown "><li class=""><span>Address 1, 1000AA Amsterdam, The Netherlands</span></li></ul>
      <select _ngcontent-kld-6="" id="property-selector" materialize="material_select" name="propertySelector" ng-reflect-materialize="material_select" class="initialized"
        <option _ngcontent-kld-6="" class="property-option">Address 1, 1000AA Amsterdam, The Netherlands</option>
      </select></div>
  </div>
</div>
  

Теперь у меня возникают проблемы с переопределением стиля border-bottom (который мне не нужен). Селектор, который я использую в scss, похоже, не отвечает.

Я смог настроить шрифт, установив его в родительском элементе, но я застрял с элементом select-wrapper, который генерирует materialize js, и, похоже, используемый мной селектор css также переопределяется.

Есть идеи, как эффективно стилизовать элемент ввода?

Комментарии:

1. У вас есть какое-либо рабочее решение. У меня такая же проблема

Ответ №1:

У меня была такая же проблема. В моем случае я пытался добавить стиль в файл component.style.css, и это не дало никакого эффекта, затем я попытался добавить его в main style.css, и это сработало.

Я думаю, что в вашем случае вместо использования id используйте имя класса для обхода и установки стиля.

 .custom-select {
  div.select-wrapper {
    .select-wrapper input.select-dropdown {
      border-bottom: none !important;
    }
  }
}
  

и присвоите имя класса самому внешнему div элемента select

 <div class="input-field col s12 custom-select">
  <select id="property-selector" materialize="material_select" name="propertySelector">
    <option class="property-option">Address 1, 1000AA Amsterdam, The Netherlands</option>
  </select>
</div>