Формы html красивые: Коллекция из 15+ красивых форм регистрации и авторизации

50 бесплатных HTML5 и CSS3 форм входа для вашего сайта

Автор: Елизавета Гуменюк Рейтинг топика: +1

Просто люблю писать, переводить и давать людям возможность читать интересный контент. И пусть я не всегда идеальна — есть к чему стремиться!!!

Формы входа присутствуют повсюду в Интернете. Вы пользуетесь социальными сетями? Необходимо зайти через форму входа. У вас есть электронная почта? Вы вступили в какое-либо сообщество или форум? Вы хотите оставить комментарий на сайте WordPress? Чтобы получить доступ к чему-нибудь в Интернете, скорее всего, вам придется пройти через процесс входа в систему. Вам, вероятно, придется сначала зарегистрироваться или оставить какую-то информацию о себе, а затем использовать форму входа, чтобы совершить  какое-либо действие онлайн.

Так почему формы входа нужно делать с помощью HTML и CSS? Это две существенные части.

HTML — это стандартный язык разметки, используемый для создания веб-страниц. HTML-элементы являются строительными блоками всех веб-сайтов.

CSS — это язык, используемый для описания внешнего вида и форматирования документа, написанного с использованием языка разметки. Такого как HTML.

Мы используем HTML для создания веб-сайта и CSS, чтобы он выглядел красиво. Это то, с чем большинство пользователей сталкиваются в интернете.

Мы составили список из 50 бесплатных форм входа, которые можно использовать на вашем сайте WordPress, в блоге, на форуме или где-нибудь еще. Каждая форма была тщательно протестирована, чтобы гарантировать, что присутствуют все  компоненты, а исходный код доступен с каждой загрузкой. Конечно, вы можете использовать эти формы для личных и коммерческих целей, без необходимости атрибуции.
 

Creative Login Form

Простая, но креативная форма входа, созданная с использованием HTML5 и CSS3. Эта форма может быть также использована, как форма регистрации. Это наш любимый шаблон в этом списке благодаря своей гибкости и подобия.
 

DropDown Login Form

Форма будет скрыта, пока вы не нажмете на опцию “Вход”. Действительно отличная возможность для современных веб-сайтов, которые хотят избежать создания отдельной страницы для форма входа. Таким образом, вы можете отобразить форму в любом месте на вашем сайте с помощью этого мощного инструмента.
 

Floating Sign Up Form

Дизайн для формы регистрации, использующей вкладки и плавающую форму меток.
 

Simple Login Form

Эта форма стала очень популярной, благодаря своей простоте и аккуратному дизайну.
 

Flat Login – Sign Up Form

После нажатия кнопки “Click me” в верхнем правом углу, вы получите плавную анимацию, которая превращает эту форму для входа в форму регистрации.
 

Login With Self-Contained SCSS Form

Это форма с автономным SCSS. Расширение CSS, которое добавляет силу и элегантность основному языку, что позволяет использовать различные опции и элементы.
 

Facebook Login

Это простая форма Facebook, которая с легкостью может быть импортирована в ваш сайт.
 

Animated Login Form

Это на самом деле анимированная форма входа, с надписью вверху “Эй ты, входи уже” трансформируется в поля для входа внизу формы.
 

Login Form Using CSS3 And HTML5

Это пример того, как создать простую регистрационную форму с помощью HTML5 и CSS3. Форма использует псевдо элементы (:after и :before), чтобы создать многостраничный эффект. Эти элементы поворачиваются с помощью свойства преобразования CSS3. Эта форма использует HTML5, чтобы сделать более простой подачу и валидацию.

 

iPhone Login Template

Творческий способ, чтобы продемонстрировать форму входа на iPhone.
 

Login With Shake Effect

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

Boxy Login Form

Квадратная форма входа с небольшим сюрпризом. Попробуйте “admin” в качестве имени пользователя и “1234” в качестве пароля  для полноценного опыта.
 

Animated Login Form

Изящная форма входа. Как только вы нажмете на “Вход” на левой стороне, эффект анимации создает аккуратную форму входа справа. Определенно уникальный подход!
 

Elegant Login


Material Design Form

Bootstrap Snippet Form

Login With Flat UI

Trendy UI Kits Form

Flat Login With Flat Design

Dashboard CSS3 HTML5 Form      

Login With Recovery Form

 

Flat Login Form

Transparent Login

Login With Google Chrome Extension

Elegant Flat Form

Stylized Login Form

jQuery Animated Sliding Login Form

Responsive Login

Transparent Form

Login With Social Integration

Show And Hide Password Form Example

Log ‘N Load Animated Form

Flat Modern Login Form

Flat CSS3 Form With Animated Background

CSS3 Cloud Animated Background Form

My Login Form

Simple Form For Inspiration

CSS3 Form With Logo

CSS3 Form With Shadow

Flat UI Form V2

Simple Login Widget

Fancy Login Form

Green And Yellow Form

Simple Form With Spinning Loader

Material Shadow Form

Password Protected Form

Paper Login CSS3 Form

Bootstrapped Twitter Login Form

Transparent Form With Logo


Modern Login Form

Источник

Без вкуса.

Почему в биатлоне не умеют делать красивые формы — Под прицелом — Блоги

Сборная России презентовала новую форму, которую точно не назовешь удачной. Впрочем, в биатлоне с находками и выдумками – большие проблемы.

В отличие от командных видов, биатлон чересчур прост и не так технологичен в выпуске форм. Не бывает второго или третьего комплекта, домашнего или гостевого, светлого или темного, под декабрьские или январские этапы Кубка мира; под чемпионат мира, наконец (ну, только если кому-то захочется). Разнообразие – лишь на Олимпиадах, но там правила МОК и единые цвета для всей команды.

А так, каждую осень команды и производители пытаются хоть чем-то удивить, выпуская новые варианты на зимний сезон, но в основном – ничего оригинального.

Понятны строгие ограничения в правилах, но чтобы шагнуть вперед (в том числе и в плане зрелищности), биатлону нужен технорывок. Где снаряжение от сборной? Где красивые комплекты форм? Наконец, где ее разнообразие? Пока отдает местечковостью и нежеланием сделать из биатлона бизнес. Мы часто говорим «зимний футбол», приводя в пример рейтинги тв-трансляций, но в остальном – ноль монетизации.

Можно начать хотя бы с формы. И присмотреться к ней внимательно. Хотели бы вы что-то купить?

Украина

Неудачный вариант. На Олимпиаде-2006 украинцев одели слишком пестро. Спутать на трассе Оксану Хвостенко, Лилию Вайгину-Ефремову или Андрея Дерезмлю с кем-то еще стало нереально, но с желтым цветом кто-то явно переборщил.

Удачный вариант. Свежайший пример – экипировка команды в прошлом сезоне и на ЧМ в Контиолахти. Эффектно, узнаваемо и при этом строго.

Германия

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

Удачный вариант. Сочи-2014 вообще стал парадом классных дизайнерских решений – по крайней мере, в биатлоне. Немцы тоже порадовали – сохранили привычные красно-оранжево-желтые мотивы, не нацепили «болванки» с тремя полосками и визуально осовременили форму.

Франция

Неудачный вариант. Неудачных вариантов было много – но это и не удивительно, французы тут главные экспериментаторы. Есть, например, психоделический асимметричный раскрас под ЧМ-2013 в Нове-Место.

Или новейший комплект, в котором братья Фуркады, Беатрикс и Дорен-Абер побегут этой зимой. Смотрите на них и следите, чтобы не закружилась голова.

Удачный вариант. Крутые находки, впрочем, тоже случались. Стильный и ненавязчивый выбор под Сочи-2014 – французских гонщиков было легко выделять в толпе, при этом не хотелось моментально отводить взгляд.

Или смелое сочетание фиолетового с желтым на ЧМ-2012 в Рупольдинге. Кажется, раньше на такие расцветки никто не решался.

Чехия

Неудачный вариант. Чехи гениально организовали ЧМ-2013 – самый посещаемый в истории. Но с выбором формы под турнир вышел прокол – «космический» раскрас выглядел слишком броско и даже нагло. А главное – цвета совсем чужие.

Удачный вариант. Год спустя в Сочи форма смотрелась куда более вменяемо – свежая, логичная и в меру сдержанная расцветка.

Беларусь

Неудачный вариант. К ЧМ-2015 в Контиолахти дизайнеры соорудили «сельский» комплект. Даже странно, что обошлось без косоворотки.

Удачный вариант. Поразительно, но весь прошлый сезон до самого ЧМ Дарья Домрачева и остальные рассекали, возможно, в самой эффектной форме в истории команды. Узнаваемо, современно, оригинально и даже внешне технологично.

Россия

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

В прошлом сезоне, да и на Олимпиаде в Сочи сработала обратная крайность – экипировка выглядела чересчур строго и хмуро. По телекартинке низ всегда видно лучше, чем верх, но низ у наших не получался. Много синего, без отличительных красных вставок. Когда пелотон шел плотной группой, сразу найти там русских было сложно.

Удачный вариант. Пожалуй, комплекты сезона 2011-2012 и 2012-2013. Родные цвета, в меру ярко и лаконично – ничего лишнего.

Фото: Gettyimages.ru/Shaun Botterill, Vianney Thibaut/Agence Zoom (2,12), Al Bello, Lars Baron, Martin Rose/Bongarts; facebook.com/Jean-Guillaume-Beatrix; Gettyimages.ru/Richard Heathcote, Alexander Hassenstein/Bongarts; REUTERS/David W Cerny, Sergei Karpukhin; biathlon.by; twitter.com/biathlonrus; РИА Новости/Константин Чалабов, Илья Питалев; REUTERS/Petr Josek; Global Look Press/imago sportfotodienst

10 фрагментов кода для создания красивых форм

Каждому веб-сайту обычно нужна какая-либо форма, будь то страница оформления заказа или простая страница контактов.

Крайне важно убедиться, что ваши формы работают, поэтому удобство использования — это №1. Но эстетика также важна, поскольку заслуживающий доверия дизайн всегда более привлекателен.

Если вам не хватает дизайнерских идей, эта коллекция может вам помочь. Это коллекция из 10 дизайнов форм с бесплатным исходным кодом. Вы найдете множество различных цветовых схем, стилей полей ввода, типографских стилей и многое другое.

Кроме того, все они размещены бесплатно, поэтому вы можете копировать и играть с кодом по своему вкусу.

1. Материальный дизайн

Все знают о языке материального дизайна Google за последние несколько лет, когда он стал известен. Концепции материального дизайна были нацелены на приложения для Android, но быстро распространились в Интернете.

Если вам нравится минималистский стиль пользовательского интерфейса материалов Google, посмотрите на эту материальную форму, созданную Джоном Ульманном.

Работает на Sass и Pug для предварительной обработки CSS/HTML. Это также довольно легкая форма, и элементы дизайна материалов должны отображаться одинаково во всех браузерах.

Настоящий источник вдохновения для всех дизайнеров материалов.

2. Под водой

Совершите путешествие в океан в этой уникальной контактной форме, выполненной в водном стиле.

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

Кроме того, всякий раз, когда вы выбираете поле ввода, для приветствия появляется дружелюбный осьминог. Как странно!

3. Bootstrap 3 Form

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

Эта форма BS3 делает все правильно, создавая поверх фреймворка Bootstrap. Он использует несколько рестайлингов в полях ввода и кнопке отправки, чтобы создать привлекательную форму Bootstrap, о которой вы никогда бы не догадались, что это Bootstrap.

Если вы используете макет BS3, определенно подумайте о том, чтобы переработать ваши формы таким образом. Вы также можете попробовать использовать сторонний фреймворк, созданный на основе Bootstrap, для более индивидуального дизайна.

4. Elegant Contact

Благодаря значкам Font Awesome и базовому адаптивному стилю эта контактная форма действительно уникальна.

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

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

И если вы ищете что-то немного уникальное, попробуйте добавить в смесь другой значок.

5.

Tiny Login

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

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

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

6. Комбинация входа и регистрации

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

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

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

7. Контакт с классной доской

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

Кроме того, деревянная рамка помогает продавать эту вещь как настоящую.

Создатель Грег Свит даже использует собственный веб-шрифт, который выглядит так же, как обычный человеческий почерк. Это идеально подходит для добавления последнего штриха к форме, так что вы действительно чувствуете, что вы снова в школе.

8. Касса кредитной карты

Я видел много кассовых форм, но этот дизайн от Фабио Оттавиани, пожалуй, лучший из тех, что мне попадались.

Он использует JavaScript для обработки проверки поля ввода, но кредитная карта полностью состоит из CSS. Он анимируется на основе чисел, которые вы вводите в форму, и даже поворачивается назад, когда вы вводите номер CVV кредитной карты.

9. Настраиваемая регистрация

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

Но поля ввода сильно настраиваются, включая пространство, необходимое для добавления этих значков к каждому из них.

Всякий раз, когда вы выделяете поле, граница становится ярко-зеленой. Вы также заметите, что значок меняет цвет! Даже отдельные меню для кредитных карт имеют свои собственные стили.

Это довольно сложный эффект, который можно реализовать исключительно с помощью CSS, но разработчик Хосе Карнейро смог его реализовать.

10. Плавающие этикетки

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

Взгляните на эту форму с плавающей меткой, работающую на CSS3 и Compass.

Создатель Антон Симанов использует jQuery для надписей, но все это делается на заказ без каких-либо плагинов. Не говоря уже о том, что его решение работает для всех типичных стилей ввода, включая текстовые поля и меню выбора.

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

Чем больше вы изучаете шаблоны проектирования, тем больше идей у ​​вас появляется для реализации собственных проектов. И CodePen — отличный сайт для сбора этих идей.

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

Учебное пособие по HTML-формам | HTML & CSS Is Hard

№ 13. HTML & CSS Is Hard

Удобный учебник по веб-разработке для сбора данных, вводимых пользователем

Элементы HTML-форм позволяют собирать информацию от посетителей вашего веб-сайта. Списки рассылки, контактные формы и комментарии к сообщениям в блогах являются распространенными примерами для небольших веб-сайтов, но в организациях, которые полагаются на свой веб-сайт для получения дохода, формы священны и почитаемы.

Формы — это «денежные страницы». Это то, как сайты электронной коммерции продают свои продукты, как SaaS-компании собирают оплату за свои услуги и как некоммерческие группы собирают деньги в Интернете. Многие компании измеряют успех своего веб-сайта эффективностью его форм, потому что они отвечают на такие вопросы, как «сколько лидов наш веб-сайт отправил нашему отделу продаж?» и «сколько человек подписались на наш продукт на прошлой неделе?» Часто это означает, что формы подвергаются бесконечным A/B-тестам и оптимизации.

Есть два аспекта функциональной HTML-формы: внешний пользовательский интерфейс и внутренний сервер. Первый — это внешний вид формы (как определено в HTML и CSS), а второй — это код, который ее обрабатывает (хранение данных в базе данных, отправка электронной почты и т. д.). В этой главе мы полностью сосредоточимся на внешнем интерфейсе, оставив внутреннюю обработку форм для будущего руководства.

Настройка

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

Как видите, это форма отправки спикера для поддельной конференции. Он содержит довольно хороший набор элементов HTML-форм: различные типы текстовых полей, группу переключателей, раскрывающееся меню, флажок и кнопку отправки.

Создайте новый проект Atom с именем формирует и вставляет в него новый файл HTML с именем Speaker-submission.

html . Для начала добавим разметку для заголовка. (Эй, смотрите! Там есть семантический HTML!)

 

  <голова>
    <метакодировка='UTF-8'/>
    Доклад спикера
    
  
  <тело>
    <заголовок>
       

Доклад спикера

Хотите выступить на нашей поддельной конференции? Заполнить эту форму.

Затем создайте файл styles.css и добавьте следующий CSS. Он использует простую технику flexbox для центрирования заголовка (и формы) независимо от ширины окна браузера:

 * {
  маржа: 0;
  заполнение: 0;
  box-sizing: граница-коробка;
}
тело {
  цвет: #5D6063;
  цвет фона: #EAEDF0;
  семейство шрифтов: "Helvetica", "Arial", без засечек;
  размер шрифта: 16px;
  высота строки: 1,3;
  дисплей: гибкий;
  flex-направление: столбец;
  выравнивание элементов: по центру;
}
.спикер-форма-заголовок {
  выравнивание текста: по центру;
  цвет фона: #F6F7F8;
  граница: 1px сплошная #D6D9ОКРУГ КОЛУМБИЯ;
  радиус границы: 3px;
  
  ширина: 80%;
  поле: 40px 0;
  отступ: 50 пикселей;
}
.
speaker-form-header h2 { размер шрифта: 30px; нижняя граница: 20px; }

Обратите внимание, что мы придерживаемся подхода Mobile-First разработки, который обсуждался в главе Адаптивный дизайн . Эти базовые правила CSS дают нам макет для мобильных устройств, а также обеспечивают основу для макета для настольных компьютеров. Позже в этой главе мы создадим медиа-запрос для макета рабочего стола с фиксированной шириной.

HTML-формы

На формы! Каждая HTML-форма начинается с метко названного элемента

. Он принимает ряд атрибутов, но наиболее важными из них являются
действие
и метод . Продолжайте и добавьте пустую форму в наш HTML-документ, прямо под
:

 

 

Атрибут action определяет URL-адрес, который обрабатывает форму. Сюда отправляются данные, собранные формой, когда пользователь нажимает кнопку 9.0033 Кнопка отправки . Обычно это специальный URL-адрес, определенный вашим веб-сервером, который знает, как обрабатывать данные. Общие серверные технологии для обработки форм включают Node.js, PHP и Ruby on Rails, но опять же, в этой главе мы сосредоточимся на внешнем интерфейсе.

Атрибут method может быть либо post , либо get , оба из которых определяют способ отправки формы на внутренний сервер. Это во многом зависит от того, как ваш веб-сервер хочет обрабатывать форму, но общее практическое правило заключается в использовании

публикует , когда вы меняете данные на сервере, резервируете и получаете , когда вы только получаете данные .

Оставив атрибут action пустым, мы указываем форме отправляться по тому же URL-адресу. В сочетании с методом get это позволит нам проверить содержимое формы.

Styling Forms

Конечно, сейчас мы рассматриваем пустую форму, но это не значит, что мы не можем добавить к ней некоторые стили, как к контейнеру <дел> . Это превратит его в поле, соответствующее нашему элементу

:

 .speaker-form {
  цвет фона: #F6F7F8;
  граница: 1px сплошная #D6D9DC;
  радиус границы: 3px;
  
  ширина: 80%;
  отступ: 50 пикселей;
  поле: 0 0 40px 0;
}
 

Поля ввода текста

Чтобы на самом деле собирать пользовательский ввод, нам нужен новый инструмент: элемент . Вставьте следующее в нашу , чтобы создать текстовое поле:

 <дел>
  
  

Во-первых, у нас есть контейнер

, помогающий со стилем. Это довольно распространено для разделения элементов ввода. Во-вторых, у нас есть , который можно представить как еще один семантический элемент HTML, например
или
, но для меток форм. Атрибут метки для должен соответствовать id атрибут связанного с ним элемента .

В-третьих, элемент создает текстовое поле. Он немного отличается от других элементов, с которыми мы сталкивались, потому что он может кардинально изменить внешний вид в зависимости от своего атрибута типа , но всегда создает какой-то интерактивный пользовательский ввод. Мы увидим другие значения, кроме text на протяжении всей главы. Помните, что селекторы ID — это плохо — id 9Атрибут 0129 здесь только для подключения его к элементу .

Концептуально элемент представляет собой «переменную», которая отправляется на внутренний сервер. Атрибут name определяет имя этой переменной, а значение — это то, что пользователь ввел в текстовое поле. Обратите внимание, что вы можете предварительно заполнить это значение, добавив атрибут value к элементу .

Стилизация полей ввода текста

Элемент может быть оформлен так же, как и любой другой элемент HTML. Давайте добавим немного CSS в styles.css , чтобы немного украсить его. Здесь используются все концепции из глав Hello, CSS, Box Model, CSS-селекторов и Flexbox:

 .form-row {
  нижняя граница: 40px;
  дисплей: гибкий;
  выравнивание содержимого: flex-start;
  flex-направление: столбец;
  flex-wrap: обернуть;
}
.form-row input[type='text'] {
  цвет фона: #FFFFFF;
  граница: 1px сплошная #D6D9ОКРУГ КОЛУМБИЯ;
  радиус границы: 3px;
  ширина: 100%;
  отступ: 7px;
  размер шрифта: 14px;
}
метка .form-row {
  нижняя граница: 15px;
}
 

Часть input[type='text'] представляет собой новый тип селектора CSS, который называется «селектор атрибутов». Он соответствует только элементам, у которых атрибут типа равен text . Это позволяет нам целенаправленно настраивать текстовые поля, а не радиокнопки, которые определяются одним и тем же элементом HTML ( ). Вы можете узнать больше о селекторах атрибутов в Mozilla Developer Network.

Все наши стили «распределены по пространствам имен» в селекторе потомков .form-row . Такая изоляция стилей и упрощает создание разных видов форм. Мы увидим, почему удобно избегать глобальных селекторов input[type='text'] и label , как только мы перейдем к переключателям.

Наконец, давайте настроим эти базовые стили, чтобы создать макет рабочего стола. Добавьте следующий медиа-запрос в конец нашей таблицы стилей.

 Только экран @media и (минимальная ширина: 700 пикселей) {
  .speaker-form-header,
  .спикер-форма {
    ширина: 600 пикселей;
  }
  .form-строка {
    flex-направление: строка;
    выравнивание элементов: flex-start; /* Чтобы избежать растяжения */
    нижняя граница: 20px;
  }
  .form-row input[type='text'] {
    ширина: 250 пикселей;
    высота: начальная;
  }
  метка .form-row {
    выравнивание текста: вправо;
    ширина: 120 пикселей;
    поле сверху: 7px;
    отступ справа: 20px;
  }
}
 

Посмотрите, как замечательно используется flex-direction , чтобы элемент отображался поверх элемента в макете для мобильных устройств, но слева от него в макете для настольного компьютера.

Атрибут типа элемента также позволяет выполнять базовую проверку ввода. Например, давайте попробуем добавить еще один элемент ввода, который только принимает адреса электронной почты вместо произвольных текстовых значений:

 
<ввод имя = 'электронная почта' тип = 'электронная почта' placeholder='[email protected]'/>

Это работает точно так же, как ввод type='text' , за исключением того, что он автоматически проверяет, что пользователь ввел адрес электронной почты. В Firefox вы можете попробовать ввести что-то, кроме адреса электронной почты, а затем щелкнуть за пределами поля, чтобы он потерял фокус и подтвердил ввод. Он должен стать красным, чтобы показать пользователю, что это неверное значение. Chrome и Safari не пытаются выполнить проверку, пока пользователь не попытается отправить форму, поэтому мы увидим это в действии позже в этой главе.

Это больше, чем просто проверка. Сообщая браузерам, что мы ищем адрес электронной почты, они могут обеспечить более интуитивно понятный пользовательский интерфейс. Например, когда браузер смартфона видит это type='email' , он предоставляет пользователю специальную клавиатуру для электронной почты с легкодоступным символом @ .

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

Помимо адресов электронной почты есть множество других встроенных вариантов проверки, о которых вы можете прочитать на MDN <ввод/> ссылка. Особый интерес представляют атрибуты required , minlength , maxlength и pattern .

Стилизация полей ввода электронной почты

Мы хотим, чтобы наше поле электронной почты соответствовало нашему текстовому полю из предыдущего раздела, поэтому давайте добавим еще один селектор атрибутов к существующему правилу input[type='text'] , например:

 /* Изменить это правило */
. form-row input[type='text'] {
  цвет фона: #FFFFFF;
  /* ... */
}
/* Чтобы иметь другой селектор */
.form-строка ввода [тип = 'текст'],
.form-row input[type='email'] {
  цвет фона: #FFFFFF;
  /* ... */
}
 

Опять же, мы не хотим использовать здесь старый добрый селектор типа input , потому что это будет стилизовать все из наших элементов, включая наши будущие переключатели и чекбоксы. Это часть того, что усложняет укладку форм. Понимание CSS для извлечения именно тех элементов, которые вам нужны, является важным навыком.

Давайте не будем забывать о стилях рабочего стола. Обновите соответствующее правило input[type='text'] в нашем медиа-запросе, чтобы оно соответствовало следующему (обратите внимание, что мы готовимся к следующим нескольким разделам с select и textarea селекторы):

 @media only screen and (min-width: 700px) {
  /* ... */
  .form-строка ввода [тип = 'текст'],
  . form-row input[type='email'], /* Добавить */
  .form-row select, /* Эти */
  .form-row textarea { /* Селекторы */
    ширина: 250 пикселей;
    высота: начальная;
  }
  /* ... */
}
 

Поскольку теперь мы можем иметь «правильное» и «неправильное» входное значение, мы, вероятно, должны сообщить об этом пользователям. : неверный и псевдоклассы :valid позволяют независимо стилизовать эти состояния. Например, может быть, мы хотим отображать и границу, и текст с пользовательским оттенком красного, когда пользователь вводит недопустимое значение. Добавьте следующее правило в нашу таблицу стилей вне медиа-запроса:

 .form-row input[type='text']:invalid,
.form-row input[type='email']:invalid {
  граница: 1px сплошная #D55C5F;
  цвет: #D55C5F;
  тень блока: нет; /* Убираем стандартное красное свечение в Firefox */
}
 

Пока мы не добавим кнопку отправки, вы сможете увидеть это только в Firefox, но вы поняли идею. Есть похожий псевдокласс :focus , который выбирает элемент, который пользователь в данный момент заполняет. Это дает вам большой контроль над внешним видом ваших форм.

Радиокнопки

Изменение свойства type элемента на radio преобразует его в радиокнопку. Работать с радиокнопками немного сложнее, чем с текстовыми полями, потому что они всегда работают в группах, позволяя пользователю выбрать один из множества предопределенных вариантов.

Это означает, что нам нужна не только метка для каждого элемента , но также способ группировать переключатели и маркировать всю группу. Для этого и нужны элементы

и . Каждая группа переключателей, которую вы создаете, должна:

  • быть обернута в
    , который помечен .
  • Свяжите элемент с каждым переключателем.
  • Используйте один и тот же атрибут имени для каждого переключателя в группе.
  • Используйте разные атрибуты value для каждого переключателя.

В нашем примере с переключателем есть все эти компоненты. Добавьте следующее в наш элемент под полем электронной почты:

 
Тип разговора <ввод имя = 'тип разговора' тип = 'радио' значение = 'основной этап' /> <ввод имя = 'тип разговора' тип = 'радио' значение = 'мастерская' проверено />

В отличие от текстовых полей, пользователь не может вводить пользовательские значения в переключатель, поэтому для каждого из них требуется явный атрибут value . Это значение, которое будет отправлено на сервер, когда пользователь отправит форму. Также очень важно, чтобы каждая радиокнопка имела один и тот же атрибут name , иначе форма не узнает, что они являются частью одной и той же группы.

Мы также ввели новый атрибут под названием checked . Это «логический атрибут», означающий, что он никогда не принимает значения — он либо существует, либо не существует на <ввод/> элемент. Если он существует либо в переключателе, либо в элементе флажка, этот элемент будет выбран/отмечен по умолчанию.

Стиль радиокнопок

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

и имеют довольно уродливые стили по умолчанию, и эти значения по умолчанию не очень последовательны в разных браузерах. В-третьих, на момент написания этой статьи
не поддерживает flexbox.

Но не волнуйтесь! Это хороший пример того, как числа с плавающей запятой являются полезным запасным вариантом для устаревших/проблемных элементов. Вы заметите, что мы не включили переключатели в наш существующий класс .form-row , выбрав вместо этого новый класс . legacy-form-row . Это потому, что он будет полностью отделен от других наших элементов, используя float вместо flexbox.

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

и , затем переключатели и метки располагаются в одной строке под :

 .legacy-form-row {
  граница: нет;
  нижняя граница: 40px;
}
.legacy-form-row легенда {
  нижняя граница: 15px;
}
.legacy-form-row .radio-метка {
  дисплей: блок;
  размер шрифта: 14px;
  отступ: 0 20 пикселей 0 10 пикселей;
}
.legacy-form-row input[type='radio'] {
  поле сверху: 2px;
}
  
.legacy-form-row .radio-метка,
.legacy-form-row input[type='radio'] {
  плыть налево;
}
 

Для макета рабочего стола нам нужно выровнять с элементами в предыдущем разделе (отсюда ширина : строка 120px ), и нам нужно плавать все влево, чтобы они оказались на одной линии. Обновите наш медиа-запрос, включив в него следующее:

 @media only screen и (min-width: 700px) {
  /* ... */
  .legacy-form-row {
    нижняя граница: 10px;
  }
  .legacy-form-row легенда {
    ширина: 120 пикселей;
    выравнивание текста: вправо;
    отступ справа: 20px;
  }
  .legacy-form-row легенда {
    плыть налево;
  }
}
 

Что касается макетов, это довольно хорошее кросс-браузерное решение. Однако настройка внешнего вида самой кнопки — это совсем другая история. Это возможно, если воспользоваться атрибутом checked , но это немного сложно. Мы предоставим вам Google «настраиваемый CSS для радиокнопок» и самостоятельно изучим эту кроличью нору.

Элементы выбора


(раскрывающиеся меню)

Раскрывающиеся меню предлагают альтернативу радиокнопкам, поскольку они позволяют пользователю выбрать один из многих вариантов. Элемент элементов, у нас есть имя и значение атрибутов, которые передаются на внутренний сервер. Но вместо того, чтобы определяться для одного элемента, они распределены по элементам , как известно, трудно стилизовать. Однако на это есть причина. Выпадающие списки — это сложный элемент интерактивности, и их поведение существенно меняется на разных устройствах. Например, на iPhone нажатие Элемент , поэтому мы сохраним наш CSS довольно простым. К сожалению, даже самые простые вещи оказываются на удивление сложными. Например, попробуйте изменить размер шрифта нашего элемента можно прочитать здесь.

Textareas

Элемент

Опишите свое выступление не более чем на 500 слов

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

Стилизация текстовых областей

К счастью, стилизация текстовых областей довольно проста. Добавьте следующее в наш файл styles.css (перед медиа-запросом):

 .form-row textarea {
  семейство шрифтов: "Helvetica", "Arial", без засечек;
  размер шрифта: 14px;
  граница: 1px сплошная #D6D9DC;
  радиус границы: 3px;
  минимальная высота: 200 пикселей;
  нижняя граница: 10px;
  отступ: 7px;
  изменение размера: нет;
}
.form-row .instructions {
  цвет: #999999;
  размер шрифта: 14px;
  нижняя граница: 30px;
}
 

По умолчанию многие браузеры позволяют пользователю изменять размер элементов