Я новичок в MDL и пытаюсь понять, как его использовать на самом деле, помимо полностью готовых примеров.
Я хотел бы изменить следующий пример кода, который включает расширяемое поле поиска. Я хочу, чтобы цвет текстового поля ввода был контрастным, когда он расширяется, а не того же цвета, что и заголовок (потому что менее очевидно, что вы можете что-то там напечатать).
<link rel="stylesheet" href="https://storage.googleapis.com/code.getmdl.io/1.0.6/material.cyan-indigo.min.css" />
<script src="https://storage.googleapis.com/code.getmdl.io/1.0.6/material.min.js"></script>
<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
<div class="mdl-layout mdl-js-layout mdl-layout--fixed-header">
<header class="mdl-layout__header">
<div class="mdl-layout__header-row">
<span class="mdl-layout-title">Title</span>
<div class="mdl-layout-spacer"></div>
<nav class="mdl-navigation">
<a class="mdl-navigation__link" href="#">Home</a>
<a class="mdl-navigation__link" href="#">About</a>
<a class="mdl-navigation__link" href="#">Contact</a>
</nav>
<!-- start search form -->
<div class="mdl-textfield mdl-js-textfield mdl-textfield--expandable">
<label class="mdl-button mdl-js-button mdl-button--icon" for="search-expandable">
<i class="material-icons">search</i>
</label>
<div class="mdl-textfield__expandable-holder">
<input class="mdl-textfield__input" type="text" id="search-expandable" />
<label class="mdl-textfield__label" for="search-expandable">Search text</label>
</div>
</div>
<!-- end search form -->
</div>
</header>
</div>
Я попытался заменить
<input class="mdl-textfield__input" type="text" id="search-expandable" />
с
<input class="mdl-textfield__input--white" type="text" id="search-expandable" />
but that made the textbox white even when it wasn't expanded, which looks funny.
Мои вопросы:
Как я могу добиться изменения только цвета окна поиска при его расширении?
Используя схему именования БЭМ, я просто догадался, что mdl-textfield__input--white был где-то определен, и, видимо, так оно и есть, потому что поле стало белым. Схема именования дает мне возможность начать строить догадки, но какой простой способ узнать, что на самом деле уже определено, а что мне нужно определить самому?
Я понял, как использовать инструменты разработчика браузера, чтобы перейти к css данного класса и деминифицировать его, но, оказавшись там, все еще трудно найти доступные варианты. Затем я попробовал mdl-textfield__input -- зеленый (гадость), но он остался белым. И я не смог найти с помощью инструментов разработчика определения стиля --white или --green, так что, возможно, их не существует.
Является ли mdl-textfield__input--white хорошим выбором/стилем/именем? Название понятное, но что, если я изменю цветовую схему на веб-сайте, где белый не будет хорошим контрастом?