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>

Результат

Проверьте результат.