Хорошо, так что это незавершенная работа, так как я уверен, что вы попросите меня стилизовать раскрывающийся список в следующем ...!
https://codepen.io/doughballs/pen/zYGERzX
Итак, во-первых, Select2 принудительно устанавливает ширину 700px в select, что делает его шире, чем материализованные css входные данные (которые всегда имеют ширину: 100%). Итак, мы переопределяем это здесь. ! Важный флаг нужен, к сожалению.
.select2 {
width:100% !important;
}
Далее, фактическое поле выбора. Как вы знаете, дляizeize css используется очень минимальное моделирование - на самом деле это просто нижняя граница. Поэтому я посмотрел на базовые стили, которые применяются ко всем материализация css поля ввода , скопировал их в кодовое поле и затем применил их к следующим двум элементам. Select2 делает действительно классные вещи, много вложенных div-ов (urgh), и понадобилось немного времени, чтобы понять, какого черта он делает:
span.select2-selection.select2-selection--single,
span.select2-selection__rendered {
// These are base materializecss input styles
padding-left:0 !important;
position: relative;
cursor: pointer;
background-color: transparent;
border: none;
border-bottom: 1px solid #9e9e9e;
outline: none;
height: 3rem;
line-height: 3rem;
width: 100%;
font-size: 16px;
margin: 0 0 8px 0;
padding: 0;
display: block;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
z-index: 1;
border-radius: 0;
}
В качестве заключительного замечания - могу ли я спросить, почему вы используете сторонняя библиотека для выбора? Я не очень разбираюсь в Select2, я быстро просмотрел документы и, по-видимому, они предлагают расширенную функциональность для входов Select. Materialise css может делать то же самое, не переопределяя стили и не импортируя дополнительные css.
Если вам интересно, я могу показать вам кодовую ручку, которая использует автозаполнение, чтобы получить функциональность, аналогичную вашему примеру. Здесь