Красивая стилизация input type с помощью CSS3
Данный урок достаточно прост, но он является той маленькой частью сайта который не стоит упускать. Все мы знаем, что формы ввода на сайта достаточно примитивны и однообразны. Сегодня мы подойдем к данному вопросу с достаточно элегантной точки зрения современного веб-дизайна. Мы рассмотрим процесс адаптивной стилизации input type с помощью CSS3. Изменив стили на ниже указанные вы получите стилизацию всех форм которые есть у Вас на сайте на желаемый. И так, давайте посмотрим, что у нас получилось.
Много различным бесплатных шаблонов вы можете найти на сайте наших партнеров, также имеются и премиум шаблоны с круглосуточной техподдержкой и помощью в настройке:
Мы создадим эффект легкой объемности, чтобы подчеркнуть форму, также будет установленная небольшая прозрачность, все это превращается в стильную форму. Так как разметка все Вам знакома, мы рассмотрим только стили CSS.
Шаг 1. CSS
input { padding: 10px; font-size: 30px; border: 10px solid rgba(255, 255, 255, .5); @include box-shadow( 0 2px 10px rgba(0, 0, 0, .25) inset, 0 2px 10px rgba(0, 0, 0, .25)); @include border-radius(10px); background: rgba(255, 255, 255, .5); @include appearance(none); outline: none; color: #333; width: 50%; position: absolute; left: 25%; } |
Вот и все. Готово!
Читайте также:
Поля ввода input в стиле Google Material Design на CSS3
Создание полей input в стиле Google Material Design на чистом CSS3
1. HTML-разметка
HTML будет довольно простым. Нам потребуется стандартная форма с двумя input-полями. Вот она:
<form>
<div>
<input type="text" required>
<span></span>
<label>Имя</label>
</div>
<div>
<input type="text" required>
<span></span>
<label>Email</label>
</div>
</form>
Тут у нас три компонента, которые нам нужны.
input
Будет служить в качестве входных данных.bar
Проведет два бара, которые составляют подчеркивание.label
Будет выступать в качестве placeholder, пока мы не нажмете на input. После чего он сместится вверх.
С HTML разобрались, переходим к CSS.
2. Анимирование input’ов
Все CSS-стили разделим на три составные части, это: starting stylings
(дефолтные стили нашей формы) label/placeholder
и underline
.
Начнем, конечно с дефолтных стилей:
/* form starting stylings ------------------------------- */
.group {
position: relative;
margin-bottom: 30px;
}
input {
font-size: 16px;
padding: 10px;
display: block;
width: 300px;
border: none;
border-bottom: 1px solid #ccc;
}
input:focus {
outline: none;
}
Здесь мы просто разместили наши поля ввода формы. Также устанавливаем group
позиционирование position:relative;
для того, чтобы в дальнейшем иметь возможность размещать прочие элементы относительно этого.
Теперь переходим к стилизации прочих элементов нашей формы:
/* LABEL ======================================= */
label {
color: #999;
font-size: 18px;
position: absolute;
pointer-events: none;
left: 10px;
top: 15px;
transition: 0.2s ease all;
-moz-transition: 0.2s ease all;
-webkit-transition: 0.2s ease all;
}
/* active state */
input:focus ~ label, input:valid ~ label {
top: -15px;
font-size: 14px;
color: #5264AE;
}
/* BOTTOM BARS ================================= */
.bar {
position: relative;
display: block;
width: 320px;
}
.bar:before, .bar:after {
content: "";
height: 2px;
width: 0;
bottom: 0;
position: absolute;
background: #5264AE;
transition: 0.2s ease all;
-moz-transition: 0.2s ease all;
-webkit-transition: 0.2s ease all;
}
.bar:before {
left: 50%;
}
.bar:after {
right: 50%;
}
/* active state */
input:focus ~ .bar:before,
input:focus ~ .bar:after {
width: 50%;
}
На этом все. Работа завершена, и теперь у нас есть поле ввода, похожее на поля ввода Google Material Design.
3. Результат работы
Стилизация формы с помощью CSS
Время чтения: 3 мин.Здравствуй, уважаемый читатель.
Это пятнадцатый урок изучения CSS. В этом уроке вы узнаете как работать с элементами формы, а именно как задать фон для текстового поля и текстовой области, а также как применять другие свойства для разных элементов.
Перед изучением данного урока пройдите предыдущие уроки:
Урок 1. Что такое CSS?
Урок 2. Базовые селекторы
Урок 3. Групповые селекторы и селекторы потомков
Урок 4. Псевдоселекторы ссылок
Урок 5. Шрифты
Урок 6. Оформление текста
Урок 7. Рамки
Урок 8. Оформление списков
Урок 9. Наследование
Урок 10. Блочная модель
Урок 12. Конфликты полей
Урок 13. Работа с изображениями. Часть 1
Урок 13. Работа с изображениями. Часть 2
Урок 14. Таблицы
Теория и практика
Изучая html мы создавали формы с помощью тегов <form>, а внутри создавали необходимое количество <input> и <textarea>.
Оформление поля input
Для того чтобы задать свойство для элемента формы нам необходим селектор. Этим селектором могут выступать такие теги как input(в этом случае как вы уже знаете мы зададим стиль для всех input-ов), textarea или селектор class. Рассмотрим на примере «для всех полей input зададим фон голубой, цвет букв синий и рамку синего цвета». Для работы возьмем следующую форму:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <html> <head> <title>Главная</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <link rel="stylesheet" type="text/css" href="style.css"> </head> <body> <form> <p>Введите Ваше имя:</p> <input type="text" name="name" value="Ваше имя..." size="20" maxlength="15"> <p>Введите Вашу фамилию:</p> <input type="text" name="surname" value="Ваша фамилия..." size="20" maxlength="15"> <p>Расскажите немного о себе:</p> <textarea name="aboutyou" cols="40" rows="6"></textarea> </form> </body> </html> |
И для того чтобы преобразить данную форму используем следующий CSS код:
1 2 3 4 5 6 | input{ background-color:#D3D5FF; /* голубой фон */ color:#0007D3; /* синий цвет букв */ border:2px solid #7A7DD6; /* синяя рамка в два пикселя */ padding:5px; /* внутренний отступ для текста в 5 пикселей */ } |
Как это выглядит в браузере:
Я думаю объяснять всё подробно нет необходимости. Но заострю лишь внимание на моменте, где мы указываем селектор. Мы написали селектор «input» — а это значит что данный стиль применится для всех полей на странице. Если вы хотите задать какому-то определенному полю стиль, необходимо прописать ему в html атрибут и вписать свойство в CSS.
Оформление поля textarea
Также мы можем оформить по своему желанию текстовую область — textarea. Как вы уже догадались это можно сделать также двумя способами. При оформлении текстовой области в этом уроке мы воспользуемся вторым способом через атрибут. Мы имеем html страницу, которая была в начале урока. Присвоим для текстовой области атрибут:
1 | <textarea name="aboutyou" cols="40" rows="6"></textarea> |
Затем на фон установим изображение и выделим текстовую область синей рамкой:
1 2 3 4 5 6 7 8 9 10 11 12 13 | input{ background-color:#D3D5FF; /* голубой фон */ color:#0007D3; /* синий цвет букв */ border:2px solid #7A7DD6; /* синяя рамка в два пикселя */ padding:5px; /* внутренний отступ для текста в 5 пикселей */ } .niceText{ background-image:url('about.png'); /* изображение для заднего фона */ background-repeat:no-repeat; /* запрещаем повтор фонового изображения */ background-position:100% 100%; /* смещаем его в правый нижний угол */ border:2px solid #7A7DD6; /* синяя рамка в два пикселя */ } |
Как это выглядит в браузере:
Посмотреть примерСкачать
Картинка вместо кнопки input
И последнее что мы рассмотрим в этом уроке это изображение вместо простой кнопки. Возьмем следующий код html:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <html> <head> <title>Главная</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <link rel="stylesheet" type="text/css" href="style.css"> </head> <body> <form> <p>Введите Ваше имя:</p> <input type="text" name="name" value="Ваше имя..." size="20" maxlength="15"> <p>Введите Вашу фамилию:</p> <input type="text" name="surname" value="Ваша фамилия..." size="20" maxlength="15"> <p>Расскажите немного о себе:</p> <textarea name="aboutyou" cols="40" rows="6"></textarea> <div><input type="image" name="submit" src="send.png"></div> </form> </body> </html> |
И применим следующие свойства CSS:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | .textInput{ background-color:#D3D5FF; /* голубой фон */ color:#0007D3; /* синий цвет букв */ border:2px solid #7A7DD6; /* синяя рамка в два пикселя */ padding:5px; /* внутренний отступ для текста в 5 пикселей */ } .niceText{ background-image:url('about.png'); /* изображение для заднего фона */ background-repeat:no-repeat; /* запрещаем повтор фонового изображения */ background-position:100% 100%; /* смещаем его в правый нижний угол */ border:2px solid #7A7DD6; /* синяя рамка в два пикселя */ } .sendA{ margin:20px 0 0 20px; /* отступ снизу и слева для кнопки */ } |
Всё что мы изменили это каждому input-у добавили атрибут. А в конце вместо обычной кнопки мы вставили input с атрибутами type=»image» name=»submit» src=»send.png».
type=»image» — определяет что у нас будет изображение вместо кнопки;
name=»submit» — имя кнопки;
src=»send.png» — путь где расположено изображение для кнопки.
Как это выглядит в браузере:
Посмотреть примерСкачать
На этом я заканчиваю наш урок. Я уверен что это для вас несложно и вы быстро поняли что к чему. Поэтому поэкспериментируйте и двигайтесь к следующему уроку!
Больше практикуйтесь!
Мини-коллекция поля ввода CSS3 с иконками (html form input)
Иногда при создании сайта или чего-либо другого, Вам срочно нужны поля ввода css для какой-то формы. Это мини-коллекция полей ввода текста, с большим выбором иконок, которые выводятся с помощью шрифта иконок. В списке есть как черно-белые, так и цветные формы. Есть два вида полей (html form input): иконка перед областью ввода текста (prefix
) и иконка после поля ввода теста (postfix
). Очень полезная подборка (24 варианта и 7 цветов), которая будет, я думаю, Вам очень полезна. Также смотрите готовую форму на CSS3 и эффектами на JQuery.
Наборы
Эта коллекция содержит 24 формы и соответственно 24 различных значка, а именно: электронная почта, ссылка, внешняя ссылка, приложить, теги, дом, ключ, кредитная карта, тележка, пользователь, мусор, папка, сохранение, маркер, установка, редактирование, закладки, календарь , GPlus, Twitter, GitHub, Pinterest, LinkedIn и Facebook.
Каждая из полей имеет семь различных цветов: оранжевый, пурпурный, темно-серый, зеленый, синий, красный и серый цвет по умолчанию. Вот пример некоторых из них:
Технологии и использование
Я использую JQuery для добавления prefix
и postfix
рядом с формой входа, в качестве цвета фона я использую градиент с поддержкой до 4-х браузеров (-moz
, -webkit
, -o
& -ms
), а также стандартный код. Для вывода иконок используется соответствующий шрифт. Также добавлена поддержка placeholder
для старых браузера.
Для использования этой коллекции полей формы, подключаем minippfix.css
и minippfix.js
, вместе с modernizr.js
и jquery.js
, загружаем шрифт / папку в нужное место. Для вывода поля в тексте, используем следующую html разметку:
<!— 1st prefix иконка email и цвет по умолчанию (серый) —> <input type=»text» placeholder=»Type here…»>
<!— 2nd postfix иконка Google Plus+ и цвет по умолчанию (серый) —> <input type=»text» placeholder=»Type here…»>
<!— 3rd prefix иконка домик и синий цвет —> <input type=»text» placeholder=»Type here…»> |
Как Вы видите выше, есть 3-4 класса параметра, которые можно поставить в поле class
.
- Первый – ppfix, это имя класса по умолчанию, для самого поля;
- Второй – параметр pre (перед) и post (после), определяет позицию иконки;
- Третий – значок иконки, это может быть электронная почта, GPlus или любое другое название, значка;
- Четвертый – класс цвета.
Вот результат полей формы, приведенных вверху:
Вот и пожалуй все! Поля ввода css для формы готовы к использованию! В данном уроке не приведены все цвета, поэтому Вы можете выбрать цвет поля любой другой, который больше подходит к вашему сайту, или больше нравится.
Данный урок подготовлен для вас командой сайта vladmaxi.net
Источник урока: http://www.webstuffshare.com
Перевел: Владислав Бондаренко
Красивый стиль оформления для input
В этой статье вы узнаете как изменить оформление тега, используя плагин jQuery Label Better. С помощью этого расширения можно улучшить оформление элементов формы тега. Среди особенностей плагина можно отметить простоту использования – нужно только прописать атрибут placeholder, а label будет создан, при необходимости, автоматически.
ДемоСкачать
В первую очередь необходимо подключить jQuery. Это нужно сделать после тега head:
<script src=»http://code.jquery.com/jquery-1.10.2.min.js» type=»text/javascript»></script> |
Для работы необходимо подключить jquery.label_better.js.
После необходимо создать скрипт, вызывающий функцию, и передать ей имя класса .label_better и тип используемой анимации:
<script> $(document).ready( function() { $(«.label_better»).label_better({ easing: «bounce» //тип анимации }); }); </script> |
Кроме этого параметра, допустимо указывать и другие:
position: «top», // Позиция animationTime: 500, // Время выполнения анимации easing: «ease-in-out», // Тип анимации: CSS виды, а так же «linear», «ease», «bounce». offset: 20, // Расстояние hidePlaceholderOnFocus: true // по умолчанию при фокусе плэйсхолдер будет исчезать |
Задавать значения параметров, передаваемых в плагин, можно непосредственно в тексте HTML-файла. В качестве примера можно взять атрибут data-position. Задавая его значение, можно управлять позицией смещения.
<input type=»text» data-position=»right» placeholder=»Username»> |
Текст placeholder-а может меняться в зависимости от текущего состояния. За изменение текста отвечает атрибут data-new-placeholder. Следующий код меняет текст «Ваше имя» на «Введите имя» после получения фокуса.
<input type=»text» placeholder=»Ваше имя» value=»» data-new-placeholder=»Введите имя» /> |
Обратите внимание, что плагин работает не во всех браузерах. В Internet Explorer плагин не функционирует, а в Opera могут возникнуть проблемы с корректным отображением. Для работы с этими браузерами понадобится искать другой вариант оформления input.