Material Design Lite - текстовые поля
MDL предоставляет ряд классов CSS для применения различных предопределенных визуальных и поведенческих улучшений и отображения различных типов ввода текста. В следующей таблице перечислены доступные классы и их эффекты.
Sr. No. | Имя и описание класса |
---|---|
1 | mdl-textfield Определяет контейнер как компонент MDL и требуется для «внешнего» элемента div. |
2 | mdl-js-textfield Устанавливает базовое поведение MDL для ввода и требуется для «внешнего» элемента div. |
3 | mdl-textfield__input Определяет элемент как ввод текстового поля и является обязательным для ввода или элемента текстового поля. |
4 | mdl-textfield__label Определяет элемент как метку текстового поля и требуется для элемента метки для элементов ввода или текстового поля. |
5 | mdl-textfield--floating-label Применяет эффект плавающей метки и является необязательным; переходит к «внешнему» элементу div. |
6 | mdl-textfield__error Определяет диапазон как сообщение об ошибке MDL и является необязательным; переходит к элементу span для элемента ввода MDL с шаблоном. |
7 | mdl-textfield--expandable Идентифицирует div как контейнер расширяемого текстового поля MDL; используется для расширяемых полей ввода и требуется для "внешнего" элемента div. |
8 | mdl-button Обозначает метку как кнопку со значком MDL; используется для расширяемых полей ввода и является обязательным для элемента метки «внешнего» div. |
9 | mdl-js-button Задает базовое поведение контейнера значков; используется для расширяемых полей ввода и является обязательным для элемента метки «внешнего» div. |
10 | mdl-button--icon Определяет метку как контейнер значка MDL; используется для расширяемых полей ввода и является обязательным для элемента метки «внешнего» div. |
11 | mdl-input__expandable-holder Определяет контейнер как компонент MDL; используется для расширяемых полей ввода и требуется для «внутреннего» элемента div. |
12 | is-invalid Идентифицирует текстовое поле как недопустимое при начальной загрузке и является необязательным для элемента mdl-textfield. |
пример
Следующий пример поможет вам понять использование классов mdl-textfield для отображения различных типов текстовых полей.
mdl_textfields.htm
<html>
<head>
<script
src = "https://storage.googleapis.com/code.getmdl.io/1.0.6/material.min.js">
</script>
<link rel = "stylesheet"
href = "https://storage.googleapis.com/code.getmdl.io/1.0.6/material.indigo-pink.min.css">
<link rel = "stylesheet"
href = "https://fonts.googleapis.com/icon?family=Material+Icons">
<script langauage = "javascript">
function showMessage(value) {
document.getElementById("message").innerHTML = value;
}
</script>
</head>
<body>
<table>
<tr><td>Simple Text Field</td><td>Numeric Text Field</td>
<td>Disabled Text Field</td></tr>
<tr>
<td>
<form action = "#">
<div class = "mdl-textfield mdl-js-textfield">
<input class = "mdl-textfield__input" type = "text" id = "text1">
<label class = "mdl-textfield__label" for = "text1">Text...</label>
</div>
</form>
</td>
<td>
<form action = "#">
<div class = "mdl-textfield mdl-js-textfield">
<input class = "mdl-textfield__input" type = "text"
pattern = "-?[0-9]*(\.[0-9]+)?" id = "text2">
<label class = "mdl-textfield__label" for = "text2">
Number...</label>
<span class = "mdl-textfield__error">Number required!</span>
</div>
</form>
</td>
<td>
<form action = "#">
<div class = "mdl-textfield mdl-js-textfield">
<input class = "mdl-textfield__input" type = "text"
id = "text3" disabled>
<label class = "mdl-textfield__label" for = "text3">
Disabled...</label>
</div>
</form>
</td>
</tr>
<tr><td>Simple Text Field with Floating Label</td>
<td>Numeric Text Field with Floating Label</td>
<td> </td></tr>
<tr>
<td>
<form action = "#">
<div class = "mdl-textfield mdl-js-textfield mdl-textfield--floating-label">
<input class = "mdl-textfield__input" type = "text" id = "text4">
<label class = "mdl-textfield__label" for = "text4">Text...</label>
</div>
</form>
</td>
<td>
<form action = "#">
<div class = "mdl-textfield mdl-js-textfield mdl-textfield--floating-label">
<input class = "mdl-textfield__input" type = "text"
pattern = "-?[0-9]*(\.[0-9]+)?" id = "text5">
<label class = "mdl-textfield__label" for = "text5">
Number...</label>
<span class = "mdl-textfield__error">Number required!</span>
</div>
</form>
</td>
<td> </td>
</tr>
<tr><td>Multiline Text Field</td><td>Expandable Multiline Text Field</td>
<td> </td></tr>
<tr>
<td>
<form action = "#">
<div class = "mdl-textfield mdl-js-textfield">
<textarea class = "mdl-textfield__input" type = "text" rows = "3"
id = "text7" ></textarea>
<label class = "mdl-textfield__label" for = "text7">Lines...</label>
</div>
</form>
</td>
<td>
<form action = "#">
<div class = "mdl-textfield mdl-js-textfield mdl-textfield--expandable">
<label class = "mdl-button mdl-js-button mdl-button--icon"
for = "text8">
<i class = "material-icons">search</i>
</label>
<div class = "mdl-textfield__expandable-holder">
<input class = "mdl-textfield__input" type = "text" id = "text8">
<label class = "mdl-textfield__label" for = "sample-expandable">
Expandable Input</label>
</div>
</div>
</form>
</td>
<td> </td>
</tr>
</table>
</body>
</html>
Результат
Проверьте результат.