Выделение обязательных полей формы с использованием CSS3

  • Главная»
  • Уроки»
  • CSS»
  • Выделение обязательных полей формы с использованием CSS3

В данном уроке мы сделаем небольшой приятный глазу эффект для обязательных полей в форме. Большинство веб форм  разрабатывается в минимальном исполнении, только для сбора данных пользователя. Подумайте о том, сколько посетителей отказывались от заполнения формы, потому что она содержала множество полей. Но также есть много форм, которые в необязательных к заполнению полях запрашивают дополнительную информацию, которую посетитель хочет или должен предоставить. Например, формы заказа или формы классификации.

Идея заключается в том, чтобы выделять только обязательные к заполнению поля. Такая задача обычно решается установкой маленького символа * или подобного обозначения. Но мы пойдем дальше и добавим интерактивный эффект для лучшего визуального выделения обязательных полей.

Для реализации идеи обернем метки и поля формы в два элемента div, которые позволят нам применить различные эффекты. Внешний контейнер будет иметь дополнительный класс, если поле обязательно для заполнения (af-required):

<form class="af-form" id="af-form" novalidate>
                     
        <div class="af-outer">
            <div class="af-inner">
                <label>Титул</label>
                <input type="text" name="title">
            </div>
        </div>
     
        <div class="af-outer af-required">
            <div class="af-inner">
                <label>Имя</label>
                <input type="text" name="fullname" required>
            </div>
        </div>
     
    <!-- ... -->
 
</form>

Рассмотрим стили второго примера демонстрации, который использует скрытие необязательных полей с помощью масштабирования. Мы будем уменьшать высоту другого контейнера, когда внутренний будет уменьшаться в масштабе.

Добавим переход для внешнего контейнера, определим фиксированную высоту и установим скрытие выступающих частей, чтобы прятать содержание при уменьшении высоты.

.af-outer {
    overflow: hidden;
    height: 70px;
    box-shadow: 0 1px 0 #f5f5f5 inset;
    transition: all 0.5s linear;
}

Для внутреннего контейнера установим центр перехода в значение “center top”, чтобы видеть процесс уменьшения высоты. Изначально масштаб имеет значение 1 (не обязательно устанавливать его):

.af-inner {
    padding: 15px 20px 15px 20px;
    transform-origin: center top;
    transform: scale(1);
    transition: all 0.5s linear;
}

В верху формы имеется кнопка (чекбокс) с id af-showreq. При нажатии на кнопку будет происходит изменение масштаба дополнительных полей. Мы используем псевдо-класс :not для получения нужных элементов, но можно устанавливать классы для дополнительных полей и получать к ним доступ через комбинаторы родственников.

Уменьшим высоту внешнего контейнера и масштаб внутреннего:

#af-showreq:checked ~ .af-form .af-outer:not(.af-required) {
    height: 0px;
    visibility: hidden;
}
#af-showreq:checked ~ .af-form .af-outer:not(.af-required) .af-inner {
    transform: scale(0);
    opacity: 0;
}

Установка свойства visibility: hidden дает гарантию, что можно будет переключаться на другие поля с помощью клавиатуры. Здесь нельзя использовать display: none, потому что не будет работать переход.


Источник: http://feedproxy.google.com/~r/ruseller/CdHX/~3/n90sUfftpd4/lessons.php

Читать комменты и комментировать

Добавить комментарий / отзыв



Защитный код
Обновить

Выделение обязательных полей формы с использованием CSS3 | | 2012-08-19 20:13:47 | | Статьи Web-мастеру | | Главная» Уроки» CSS» Выделение обязательных полей формы с использованием CSS3 В данном уроке мы сделаем небольшой приятный глазу эффект для обязательных полей в форме. Большинство веб форм  | РэдЛайн, создание сайта, заказать сайт, разработка сайтов, реклама в Интернете, продвижение, маркетинговые исследования, дизайн студия, веб дизайн, раскрутка сайта, создать сайт компании, сделать сайт, создание сайтов, изготовление сайта, обслуживание сайтов, изготовление сайтов, заказать интернет сайт, создать сайт, изготовить сайт, разработка сайта, web студия, создание веб сайта, поддержка сайта, сайт на заказ, сопровождение сайта, дизайн сайта, сайт под ключ, заказ сайта, реклама сайта, хостинг, регистрация доменов, хабаровск, краснодар, москва, комсомольск |
 
Поделиться с друзьями: