Формы

Простой CSS для HTML-форм.

Форма по умолчанию

Чтобы создать встроенную форму по умолчанию, добавьте имя pure-formкласса к любому <form>элементу.

Компактная встроенная форма
<form class="pure-form">
    <fieldset>
        <legend>A compact inline form</legend>
        <input type="email" placeholder="Email" />
        <input type="password" placeholder="Password" />
        <label for="default-remember">
            <input type="checkbox" id="default-remember" /> Remember me</label>
        <button type="submit" class="pure-button pure-button-primary">Sign in</button>
    </fieldset>
</form>

Компактная форма

Чтобы создать составную форму с элементами ввода под метками, добавьте имя pure-form-stackedкласса к <form>элементу рядом pure-form.

Компактная форма Это обязательное поле.
<form class="pure-form pure-form-stacked">
    <fieldset>
        <legend>A Stacked Form</legend>
        <label for="stacked-email">Email</label>
        <input type="email" id="stacked-email" placeholder="Email" />
        <span class="pure-form-message">This is a required field.</span>
        <label for="stacked-password">Password</label>
        <input type="password" id="stacked-password" placeholder="Password" />
        <label for="stacked-state">State</label>
        <select id="stacked-state">
            <option>AL</option>
            <option>CA</option>
            <option>IL</option>
        </select>
        <label for="stacked-remember" class="pure-checkbox">
            <input type="checkbox" id="stacked-remember" /> Remember me</label>
        <button type="submit" class="pure-button pure-button-primary">Sign in</button>
    </fieldset>
</form>

Развёрнутая форма

Чтобы создать выровненную форму, добавьте имя pure-form-alignedкласса к <form>элементу рядом pure-form. В выровненной форме метки выравниваются по правому краю относительно элементов управления вводом формы, но на экранах меньшего размера они возвращаются к составной форме .

Это обязательное поле.
<form class="pure-form pure-form-aligned">
    <fieldset>
        <div class="pure-control-group">
            <label for="aligned-name">Username</label>
            <input type="text" id="aligned-name" placeholder="Username" />
            <span class="pure-form-message-inline">This is a required field.</span>
        </div>
        <div class="pure-control-group">
            <label for="aligned-password">Password</label>
            <input type="password" id="aligned-password" placeholder="Password" />
        </div>
        <div class="pure-control-group">
            <label for="aligned-email">Email Address</label>
            <input type="email" id="aligned-email" placeholder="Email Address" />
        </div>
        <div class="pure-control-group">
            <label for="aligned-foo">Supercalifragilistic Label</label>
            <input type="text" id="aligned-foo" placeholder="Enter something here..." />
        </div>
        <div class="pure-controls">
            <label for="aligned-cb" class="pure-checkbox">
                <input type="checkbox" id="aligned-cb" /> I&#x27;ve read the terms and conditions</label>
            <button type="submit" class="pure-button pure-button-primary">Submit</button>
        </div>
    </fieldset>
</form>

Многоколоночная форма (с чистыми сетками)

Чтобы создать формы с несколькими столбцами, включите элементы формы в Pure Grid . Для создания адаптивных многоколоночных форм (как в примере ниже) на странице должны присутствовать чистые адаптивные сетки.

Легенда
<form class="pure-form pure-form-stacked">
    <fieldset>
        <legend>Legend</legend>
        <div class="pure-g">
            <div class="pure-u-1 pure-u-md-1-3">
                <label for="multi-first-name">First Name</label>
                <input type="text" id="multi-first-name" class="pure-u-23-24" />
            </div>
            <div class="pure-u-1 pure-u-md-1-3">
                <label for="multi-last-name">Last Name</label>
                <input type="text" id="multi-last-name" class="pure-u-23-24" />
            </div>
            <div class="pure-u-1 pure-u-md-1-3">
                <label for="multi-email">E-Mail</label>
                <input type="email" id="multi-email" class="pure-u-23-24" required="" />
            </div>
            <div class="pure-u-1 pure-u-md-1-3">
                <label for="multi-city">City</label>
                <input type="text" id="multi-city" class="pure-u-23-24" />
            </div>
            <div class="pure-u-1 pure-u-md-1-3">
                <label for="multi-state">State</label>
                <select id="multi-state" class="pure-input-1-2">
                    <option>AL</option>
                    <option>CA</option>
                    <option>IL</option>
                </select>
            </div>
        </div>
        <label for="multi-terms" class="pure-checkbox">
            <input type="checkbox" id="multi-terms" /> I&#x27;ve read the terms and conditions</label>
        <button type="submit" class="pure-button pure-button-primary">Submit</button>
    </fieldset>
</form>

Сгруппированные входы

Чтобы сгруппировать наборы текстовых элементов ввода, заключите их в <fieldset>элемент с pure-groupименем класса. Сгруппированные данные хорошо подходят для форм регистрации и естественно выглядят на мобильных устройствах.

<form class="pure-form">
    <fieldset class="pure-group">
        <input type="text" class="pure-input-1-2" placeholder="Username" />
        <input type="text" class="pure-input-1-2" placeholder="Password" />
        <input type="email" class="pure-input-1-2" placeholder="Email" />
    </fieldset>
    <fieldset class="pure-group">
        <input type="text" class="pure-input-1-2" placeholder="A title" />
        <textarea class="pure-input-1-2" placeholder="Textareas work too"></textarea>
    </fieldset>
    <button type="submit" class="pure-button pure-input-1-2 pure-button-primary">Sign in</button>
</form>

Размер входа

Элементы ввода имеют плавные размеры ширины в синтаксисе, аналогичном Pure Grids . К pure-input-*этим элементам можно применить класс.






<form class="pure-form">
    <input type="text" class="pure-input-1" placeholder=".pure-input-1" />
    <br />
    <input type="text" class="pure-input-2-3" placeholder=".pure-input-2-3" />
    <br />
    <input type="text" class="pure-input-1-2" placeholder=".pure-input-1-2" />
    <br />
    <input type="text" class="pure-input-1-3" placeholder=".pure-input-1-3" />
    <br />
    <input type="text" class="pure-input-1-4" placeholder=".pure-input-1-4" />
    <br />
</form>

Вы можете еще больше контролировать размер входных данных, упаковывая их в контейнеры сетки. В приведенном ниже примере <input>элементы имеют pure-input-1класс, но заключены в <div>конкретный класс сетки.

<form class="pure-form pure-g">
    <div class="pure-u-1-4">
        <input type="text" class="pure-input-1" placeholder=".pure-u-1-4" />
    </div>
    <div class="pure-u-3-4">
        <input type="text" class="pure-input-1" placeholder=".pure-u-3-4" />
    </div>
    <div class="pure-u-1-2">
        <input type="text" class="pure-input-1" placeholder=".pure-u-1-2" />
    </div>
    <div class="pure-u-1-2">
        <input type="text" class="pure-input-1" placeholder=".pure-u-1-2" />
    </div>
    <div class="pure-u-1-8">
        <input type="text" class="pure-input-1" placeholder=".pure-u-1-8" />
    </div>
    <div class="pure-u-1-8">
        <input type="text" class="pure-input-1" placeholder=".pure-u-1-8" />
    </div>
    <div class="pure-u-1-4">
        <input type="text" class="pure-input-1" placeholder=".pure-u-1-4" />
    </div>
    <div class="pure-u-1-2">
        <input type="text" class="pure-input-1" placeholder=".pure-u-1-2" />
    </div>
    <div class="pure-u-1-5">
        <input type="text" class="pure-input-1" placeholder=".pure-u-1-5" />
    </div>
    <div class="pure-u-2-5">
        <input type="text" class="pure-input-1" placeholder=".pure-u-2-5" />
    </div>
    <div class="pure-u-2-5">
        <input type="text" class="pure-input-1" placeholder=".pure-u-2-5" />
    </div>
    <div class="pure-u-1">
        <input type="text" class="pure-input-1" placeholder=".pure-u-1" />
    </div>
</form>

Обязательные форма ввода

Чтобы пометить элемент управления формы как требуемый, добавьте requiredатрибут.

<form class="pure-form">
    <input type="email" placeholder="Requires an email" required="" />
</form>

Заблокированная форма ввода

Чтобы отключить элемент управления формы, добавьте disabledатрибут.

<form class="pure-form">
    <input type="text" placeholder="Disabled input here..." disabled="" />
</form>

Форма ввода в режиме только чтения

Чтобы сделать ввод формы доступным только для чтения, добавьте readonlyатрибут. Разница между disabledи readonlyчтениями только входы еще фокусированием. Это позволяет людям взаимодействовать с вводом и выбирать его текст, в то время как отключенные элементы управления не являются интерактивными.

<form class="pure-form">
    <input type="text" value="Readonly input here..." readonly="" />
</form>

Форма ввода с закруглёнными углами

Чтобы отобразить элемент управления формы с закругленными углами, добавьте имя pure-input-roundedкласса.

<form class="pure-form">
    <input type="text" class="pure-input-rounded" />
    <button type="submit" class="pure-button">Search</button>
</form>

Флажки и радио

Чтобы нормализовать и выровнять флажки и радиовходы, добавьте имя класса pure-checkboxили pure-radio.

<form class="pure-form">
    <label for="checkbox-radio-option-one" class="pure-checkbox">
        <input type="checkbox" id="checkbox-radio-option-one" value="" /> Here&#x27;s option one.</label>
    <label for="checkbox-radio-option-two" class="pure-radio">
        <input type="radio" id="checkbox-radio-option-two" name="optionsRadios" value="option1" checked="" /> Here&#x27;s a radio button. You can choose this one..</label>
    <label for="checkbox-radio-option-three" class="pure-radio">
        <input type="radio" id="checkbox-radio-option-three" name="optionsRadios" value="option2" /> ..Or this one!</label>
</form>