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
Эта форма стала очень популярной, благодаря своей простоте и аккуратному дизайну.
После нажатия кнопки “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-документ, прямо под :
Во-первых, у нас есть контейнер В-третьих, элемент Концептуально элемент Элемент Часть Все наши стили «распределены по пространствам имен» в селекторе потомков Наконец, давайте настроим эти базовые стили, чтобы создать макет рабочего стола. Добавьте следующий медиа-запрос в конец нашей таблицы стилей. Посмотрите, как замечательно используется Атрибут Это работает точно так же, как ввод Это больше, чем просто проверка. Сообщая браузерам, что мы ищем адрес электронной почты, они могут обеспечить более интуитивно понятный пользовательский интерфейс. Например, когда браузер смартфона видит это Также обратите внимание на новый атрибут заполнителя , который позволяет отображать некоторый текст по умолчанию, когда элемент Помимо адресов электронной почты есть множество других встроенных вариантов проверки, о которых вы можете прочитать на MDN Мы хотим, чтобы наше поле электронной почты соответствовало нашему текстовому полю из предыдущего раздела, поэтому давайте добавим еще один селектор атрибутов к существующему правилу Опять же, мы не хотим использовать здесь старый добрый селектор типа Давайте не будем забывать о стилях рабочего стола. Обновите соответствующее правило Поскольку теперь мы можем иметь «правильное» и «неправильное» входное значение, мы, вероятно, должны сообщить об этом пользователям. Пока мы не добавим кнопку отправки, вы сможете увидеть это только в Firefox, но вы поняли идею. Есть похожий псевдокласс Изменение свойства Это означает, что нам нужна не только метка для каждого элемента В нашем примере с переключателем есть все эти компоненты. Добавьте следующее в наш элемент Точно так же, как наша кнопка-переключатель И, как и наши переключатели, элементы Обычно хорошей идеей является позволить браузеру/устройству определить наилучший способ предустановки элемента Это будет работать в Firefox, но не в Chrome или Safari! Чтобы исправить это, мы можем использовать префикс поставщика для свойства появления : , который можно представить как еще один семантический элемент 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 , чтобы элемент отображался поверх элемента в макете для мобильных устройств, но слева от него в макете для настольного компьютера.
типа элемента также позволяет выполнять базовую проверку ввода. Например, давайте попробуем добавить еще один элемент ввода, который только принимает адреса электронной почты вместо произвольных текстовых значений:
type='text' , за исключением того, что он автоматически проверяет, что пользователь ввел адрес электронной почты. В Firefox вы можете попробовать ввести что-то, кроме адреса электронной почты, а затем щелкнуть за пределами поля, чтобы он потерял фокус и подтвердил ввод. Он должен стать красным, чтобы показать пользователю, что это неверное значение. Chrome и Safari не пытаются выполнить проверку, пока пользователь не попытается отправить форму, поэтому мы увидим это в действии позже в этой главе.
type='email' , он предоставляет пользователю специальную клавиатуру для электронной почты с легкодоступным символом @ . пуст. Это хорошая небольшая техника UX, которая побуждает пользователя вводить собственное значение. <ввод/> ссылка. Особый интерес представляют атрибуты 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 */
}
:focus , который выбирает элемент, который пользователь в данный момент заполняет.
Это дает вам большой контроль над внешним видом ваших форм. Радиокнопки
type элемента на radio преобразует его в радиокнопку. Работать с радиокнопками немного сложнее, чем с текстовыми полями, потому что они всегда работают в группах, позволяя пользователю выбрать один из множества предопределенных вариантов. , но также способ группировать переключатели и маркировать всю группу. Для этого и нужны элементы и . Каждая группа переключателей, которую вы создаете, должна: , который помечен . с каждым переключателем. для каждого переключателя в группе. value для каждого переключателя.
под полем электронной почты:
элементов, у нас есть имя и значение атрибутов, которые передаются на внутренний сервер. Но вместо того, чтобы определяться для одного элемента, они распределены по элементам и . Стилизация элементов Select
, как известно, трудно стилизовать. Однако на это есть причина. Выпадающие списки — это сложный элемент интерактивности, и их поведение существенно меняется на разных устройствах. Например, на iPhone нажатие Элемент вызывает собственный компонент пользовательского интерфейса с прокруткой, который значительно упрощает навигацию по меню.
, поэтому мы сохраним наш CSS довольно простым. К сожалению, даже самые простые вещи оказываются на удивление сложными. Например, попробуйте изменить размер шрифта нашего элемента : .form-row select {
ширина: 100%;
отступ: 5px;
размер шрифта: 14px; /* Это не будет работать в Chrome или Safari */
}
.form-row select {
ширина: 100%;
отступ: 5px;
размер шрифта: 14px; /* Это не будет работать в Chrome или Safari */
-webkit-внешний вид: нет; /* Это заставит его работать */
}
Префикс -webkit будет применяться только к Chrome и Safari (которые работают на основе механизма рендеринга WebKit), в то время как Firefox останется без изменений.
По сути, это хак, и даже MDN говорит не использовать это свойство CSS.
Подобные трудности со стилем требуют серьезного внимания при построении формы. Если вам нужны пользовательские стили, возможно, лучше использовать переключатели или виджеты пользовательского интерфейса JavaScript. Bootstrap Dropdowns и jQuery Selectmenu — распространенные решения JavaScript для настройки меню выбора. В любом случае, по крайней мере, теперь вы понимаете проблему. Подробнее о проблемах можно прочитать здесь.
Textareas
Элемент создает многострочное текстовое поле, предназначенное для сбора больших объемов текста от пользователя. Они подходят для таких вещей, как биографии, эссе и комментарии. Давай, добавь в нашу форму вместе с небольшим текстом инструкции:
Опишите свое выступление не более чем на 500 слов
Обратите внимание, что он не является самозакрывающимся, как элемент , поэтому вам всегда нужен закрывающий тег .
Если вы хотите добавить любой текст по умолчанию, он должен идти внутри тегов, противопоставленных атрибуту со значением .
Стилизация текстовых областей
К счастью, стилизация текстовых областей довольно проста. Добавьте следующее в наш файл styles.css (перед медиа-запросом):
.form-row textarea {
семейство шрифтов: "Helvetica", "Arial", без засечек;
размер шрифта: 14px;
граница: 1px сплошная #D6D9DC;
радиус границы: 3px;
минимальная высота: 200 пикселей;
нижняя граница: 10px;
отступ: 7px;
изменение размера: нет;
}
.form-row .instructions {
цвет: #999999;
размер шрифта: 14px;
нижняя граница: 30px;
}
По умолчанию многие браузеры позволяют пользователю изменять размер элементов до любых размеров, которые он хочет. Мы отключили это здесь с помощью свойства resize .
Нам также нужно немного изменить макет рабочего стола. Флажки похожи на радиокнопки, но вместо выбора только одного параметра они позволяют пользователю выбрать столько, сколько он хочет. Это все упрощает, поскольку браузеру не нужно знать, какие флажки входят в одну и ту же группу. Другими словами, нам не нужна обертка То, как мы использовали Для мобильного макета все, что нам нужно сделать, это переопределить И внутри медиа-запроса мы должны принять во внимание этот столбец меток размером 120 пикселей: Оборачивая как текст флажка, так и текст метки, мы можем использовать ширину Наконец, давайте завершим нашу форму кнопкой отправки. Элемент Нажатие кнопки указывает браузеру проверить все элементы Это также дает нам возможность увидеть, как пользовательский ввод отправляется на сервер. Во-первых, введите несколько значений во все поля Все после У нас был некоторый опыт стилизации кнопок в разделе псевдоклассов главы Селекторы CSS . Тогда мы применяли эти стили к элементу Уберите этот уродливый стиль по умолчанию Как и в случае с нашим флажком, нам нужно принять во внимание этот столбец метки В этой главе мы представили наиболее распространенные элементы форм HTML. Теперь у нас есть все эти инструменты для сбора информации от посетителей нашего сайта: Вы должны хорошо разбираться в HTML и CSS, необходимых для создания красивых форм, но на самом деле для того, чтобы эти формы работали, требуются некоторые навыки, которых у нас пока нет. В зависимости от того, как структурирована ваша организация, обработка форм может не входить в ваши должностные обязанности веб-разработчика внешнего интерфейса. Если это так, вам необходимо тесно координировать свои действия с бэкэнд-разработчиком в вашей команде, чтобы убедиться, что .instructions , поэтому давайте сдвинем его влево на ширину столбца .
Добавьте следующее правило в конец нашего медиа-запроса: Только экран @media и (минимальная ширина: 700 пикселей) {
/* ... */
.form-row .instructions {
поле слева: 120px;
}
}
Флажки
или общее имя 9.0129 атрибуты. Добавьте следующее в конец нашей формы:
здесь, немного отличалось от предыдущих разделов. Вместо того, чтобы быть отдельным элементом, обертывает соответствующие <ввод/> элемент.
Это совершенно законно, и это облегчит соответствие нашему желаемому макету. По-прежнему рекомендуется использовать атрибут вместо . Стилизация флажков
margin-bottom , который мы поместили на остальные элементы . Добавьте следующее в styles.css вне медиа-запроса: .form-row .checkbox-label {
нижняя граница: 0;
}
@media only screen и (min-width: 700px) {
/* ... */
.form-row .checkbox-метка {
поле слева: 120px;
ширина: авто;
}
}
: auto , чтобы все поле формы располагалось на одной строке (помните, что ширина auto приводит к тому, что поле соответствует размеру его содержание).
Кнопки отправки
представляет собой кнопку, которая отправит ее, содержащую :
в форме и отправить их по URL-адресу действия , если нет проблем с проверкой. Итак, теперь вы можете ввести что-то, что не является адресом электронной почты, в наше поле электронной почты, нажмите и увидите сообщение об ошибке. , убедившись, что адрес электронной почты проходит проверку правильно. Затем нажмите кнопку и проверьте полученный URL-адрес в браузере. Вы должны увидеть что-то вроде этого:
Speaker-submission.
html?full-name=Rick&email=rick%40internetingishard.com&talk-type=workshop&t-shirt=l&abstract=Derp.&available=is-available
? представляет переменные в нашей форме. За каждым атрибутом name следует знак равенства, затем его значение, и каждая переменная разделяется символами и . Если бы у нас был внутренний сервер, было бы довольно легко извлечь всю эту информацию, запросить базу данных (или что-то еще) и сообщить нам, была ли отправка формы успешной или нет. Стильные кнопки
, но мы можем использовать те же методы для . , добавив в нашу таблицу стилей следующее: .form-row button {
размер шрифта: 16px;
вес шрифта: полужирный;
цвет: #FFFFFF;
цвет фона: #5995ДА;
граница: нет;
радиус границы: 3px;
отступ: 10px 40px;
курсор: указатель;
}
Кнопка .
form-row: hover {
цвет фона: #76AEED;
}
Кнопка .form-row: активная {
цвет фона: #407FC7;
}
120px , поэтому включите еще одно правило в наш медиа-запрос: @media only screen и (min-width: 700px) {
/* ... */
кнопка .form-row {
поле слева: 120px;
}
}
Резюме
и
Этот материал выходит за рамки этого руководства, но может помочь иметь некоторый контекст. Вообще говоря, существует два способа обработки форм:
для отправки данных формы на серверный URL-адрес, который затем перенаправляет на страницу успеха или ошибки. Мы получили небольшое представление об этом в предыдущем разделе, и для этого не требуется никакого JavaScript. отправляет правильные пары имя-значение. В противном случае вам придется убедиться, что интерфейс и серверная часть ваших форм аккуратно сочетаются друг с другом.

