Домашняя » Веб-дизайн » Создание потрясающего поля поиска CSS3

    Создание потрясающего поля поиска CSS3

    Эта статья является частью нашей «Серия руководств по HTML5 / CSS3» - призван помочь вам стать лучшим дизайнером и / или разработчиком. кликните сюда чтобы увидеть больше статей из этой серии.

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

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

    Версия этого поискового поля для фотошопа была создана Элвином Тонгом и может быть загружена отсюда. Я попытался воссоздать это поле поиска, используя чистый CSS3. Следует отметить, что не все браузеры поддерживают функции CSS3 и чтобы попробовать этот учебник, вы должны использовать один из современных браузеров, которые поддерживают функции CSS 3.

    Готовы? Давайте начнем!

    1. HTML5 Doctype

    Начнем с разметки HTML. Это очень просто, после Тип документа HTML5 и декларация, у нас есть

    с идентификатором называется #wrapper внутри . Это делается просто для определения ширины поля содержимого и выравнивания по центру страницы..

    Затем следует

    с идентификатором называется #главный. Этот идентификатор содержит стили, которые определяют большое белое поле вокруг поля ввода и кнопку поиска. это
    имеет
    объявлено внутри. Форма имеет поле ввода текста и скнопка earch. Вот как выглядит форма без примененных к ней стилей:

    Вот как выглядит код:

       Поле поиска CSS3   

    Поле поиска CSS3

    2. Создание ограничительной рамки

    Чтобы создать большую рамку вокруг формы, мы добавим стили к

    с идентификатором #главный. Из приведенного ниже кода вы заметите, что поле имеет ширину 400 пикселей и высоту 50 пикселей.

     #main width: 400px; высота: 50 пикселей; фон: # f2f2f2; обивка: 6px 10px; граница: 1px solid # b5b5b5; -moz-border-radius: 5px; -webkit-border-radius: 5px; радиус границы: 5 пикселей; -moz-box-shadow: вставка 0 0 3px rgba (255, 255, 255, 0.8), вставка 0 2px 2px rgba (255, 255, 255, 1), 0 5px 0 #ccc, 0 6px 0 # 989898, 0 13px 0 #dfdede; -webkit-box-shadow: вставка 0 0 3px rgba (255, 255, 255, 0.8), вставка 0 2px 2px rgba (255, 255, 255, 1), 0 5px 0 #ccc, 0 6px 0 # 989898, 0 13px 0 #dfdede; box-shadow: вставка 0 0 3px rgba (255, 255, 255, 0.8), вставка 0 2px 2px rgba (255, 255, 255, 1), 0 5px 0 #ccc, 0 6px 0 # 989898, 0 13px 0 # dfdede;  

    Важный кусок кода здесь граница радиуса декларация и коробчатого тень декларация. Для создания закругленных углов мы использовали объявление CSS3 border-radius, префиксы браузеров "-moz-" и "-webkit-" были использованы для обеспечения того, чтобы это работало в браузерах на основе Gecko и WebKit. Объявление теней может выглядеть немного странно, но на самом деле все очень просто.

     box-shadow: вставка 0 0 3px rgba (255, 255, 255, 0.8), вставка 0 2px 2px rgba (255, 255, 255, 1), 0 5px 0 #ccc, 0 6px 0 # 989898, 0 13px 0 # dfdede; 

    Объяснение: Здесь ключевое слово inset указывает, будет ли тень находиться внутри поля. Первые два нуля обозначают смещение по оси x и смещение по оси y, а 3 пикселя - размытие. Далее идет объявление цвета. Я использовал значения RGBA здесь; RGBA означает красный зеленый синий и альфа (непрозрачность). Таким образом, 4 значения в скобках указывают количество красного, зеленого, синего и его альфа (непрозрачность). Вы заметите, что 5 комплектов теневых объявлений были забиты вместе. Это можно сделать, разделив их запятой. Первые две тени определяют белый эффект "внутреннего свечения", а следующие там объявления придают коробке вид сплошного / объемного.

    Поиграйте с этими значениями, чтобы понять, как это работает.

    предварительный просмотр

    3. Стилизация поля ввода

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

     input [type = "text"] float: left; ширина: 230 пикселей; отступы: 15px 5px 5px 5px; margin-top: 5px; поле слева: 3 пикселя; граница: 1px solid # 999999; -moz-border-radius: 5px; -webkit-border-radius: 5px; радиус границы: 5 пикселей; -moz-box-shadow: вставка 0 5px 0 #ccc, вставка 0 6px 0 # 989898, вставка 0 13px 0 #dfdede; -webkit-box-shadow: вставка 0 5px 0 #ccc, вставка 0 6px 0 # 989898, вставка 0 13px 0 #dfdede; box-shadow: вставка 0 5px 0 #ccc, вставка 0 6px 0 # 989898, вставка 0 13px 0 #dfdede;  

    Стили, объявленные для поля ввода, очень похожи на стили, описанные для большой коробки. #главный. Мы использовали один и тот же радиус границы (5 пикселей). Опять же, несколько теней были забиты.

     box-shadow: вставка 0 5px 0 #ccc, вставка 0 6px 0 # 989898, вставка 0 13px 0 #dfdede; 

    Объяснение: Вы заметите, что на этот раз теневое размытие было сохранено на 0, чтобы получить резкую тень, и используется вертикальное смещение 5 пикселей. В последующих объявлениях размытие сохранялось на уровне 0px, но цвет и смещение по оси y были изменены. Опять же, поиграйте с этими значениями, чтобы получить разные результаты.

    предварительный просмотр

    4. Стилизация кнопки отправки

    Давайте стилизовать кнопку поиска.

     input [type = "submit"]. solid float: left; курсор: указатель; ширина: 130 пикселей; обивка: 8px 6px; поле слева: 20 пикселей; цвет фона: # f8b838; цвет: rgba (134, 79, 11, 0,8); преобразование текста: заглавные буквы; вес шрифта: полужирный; граница: 1px solid # 99631d; -moz-border-radius: 5px; -webkit-border-radius: 5px; радиус границы: 5 пикселей; тень для текста: 0 1px 2px rgba (255, 255, 255, 0,7), 0 -1px 0 rgba (64, 38, 5, 0,9); -moz-box-shadow: вставка 0 0 3px rgba (255, 255, 255, 0.6), вставка 0 1px 2px rgba (255, 255, 255, 0.7), 0 5px 0 # b8882a, 0 6px 0 # 593a11, 0 13px 0 #ccc; -webkit-box-shadow: вставка 0 0 3px rgba (255, 255, 255, 0.6), вставка 0 1px 2px rgba (255, 255, 255, 0.7), 0 5px 0 # b8882a, 0 6px 0 # 593a11, 0 13px 0 #ccc; box-shadow: вставка 0 0 3px rgba (255, 255, 255, 0.6), вставка 0 1px 2px rgba (255, 255, 255, 0.7), 0 5px 0 # b8882a, 0 6px 0 # 593a11, 0 13px 0 # ссс; -webkit-transition: фоновый режим 0.2s;  

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

     тень для текста: 0 1px 2px rgba (255, 255, 255, 0,7), 0 -1px 0 rgba (64, 38, 5, 0,9); 

    Объяснение: в текст-тень Декларация, первые три числовых значения - смещение по оси x, смещение по оси y и размытие соответственно. Значения rgba указывают цвет тени. В следующем наборе объявлений (через запятую) смещению по оси Y присваивается значение -1. Это сделано, чтобы дать тексту “внутренняя тень” эффект. Состояние наведения / фокуса кнопки отправки имеет разные значения цвета фона и теней.

    предварительный просмотр

    «Активное» состояние для кнопки

    Активное состояние кнопки имеет немного больше изменений. В данном случае я присвоил кнопке абсолютную позицию и верхнее значение 5 пикселей. Это было сделано, чтобы придать ему более естественный вид, чтобы было ощущение, что кнопка фактически нажата на 5 пикселей. Другие изменения в активном состоянии - это изменение цвета фона и теней. Обратите внимание, что я уменьшил смещение y теней, чтобы придать ему «прижатый» вид. Вот код для активного состояния кнопки отправки:

     input [type = "submit"]. solid: active background: # f6a000; положение: относительное; верх: 5 пикселей; граница: 1px solid # 702d00; -moz-box-shadow: вставка 0 0 3px rgba (255, 255, 255, 0.6), вставка 0 1px 2px rgba (255, 255, 255, 0.7), 0 3px 0 # b8882a, 0 4px 0 # 593a11, 0 8px 0 #ccc; -webkit-box-shadow: вставка 0 0 3px rgba (255, 255, 255, 0.6), вставка 0 1px 2px rgba (255, 255, 255, 0.7), 0 3px 0 # b8882a, 0 4px 0 # 593a11, 0 8px 0 #ccc; box-shadow: вставка 0 0 3px rgba (255, 255, 255, 0.6), вставка 0 1px 2px rgba (255, 255, 255, 0.7), 0 3px 0 # b8882a, 0 4px 0 # 593a11, 0 8px 0 # ссс;  

    Полный (CSS) код

    Это завершает наше поле поиска. Мы использовали немало новых функций CSS3. Вот полный CSS и HTML этого поля поиска.

     #main width: 400px; высота: 50 пикселей; фон: # f2f2f2; обивка: 6px 10px; граница: 1px solid # b5b5b5; -moz-border-radius: 5px; -webkit-border-radius: 5px; радиус границы: 5 пикселей; -moz-box-shadow: вставка 0 0 3px rgba (255, 255, 255, 0.8), вставка 0 2px 2px rgba (255, 255, 255, 1), 0 5px 0 #ccc, 0 6px 0 # 989898, 0 13px 0 #dfdede; -webkit-box-shadow: вставка 0 0 3px rgba (255, 255, 255, 0.8), вставка 0 2px 2px rgba (255, 255, 255, 1), 0 5px 0 #ccc, 0 6px 0 # 989898, 0 13px 0 #dfdede; box-shadow: вставка 0 0 3px rgba (255, 255, 255, 0.8), вставка 0 2px 2px rgba (255, 255, 255, 1), 0 5px 0 #ccc, 0 6px 0 # 989898, 0 13px 0 # dfdede;  input [type = "text"] float: left; ширина: 230 пикселей; отступы: 15px 5px 5px 5px; margin-top: 5px; поле слева: 3 пикселя; граница: 1px solid # 999999; -moz-border-radius: 5px; -webkit-border-radius: 5px; радиус границы: 5 пикселей; -moz-box-shadow: вставка 0 5px 0 #ccc, вставка 0 6px 0 # 989898, вставка 0 13px 0 #dfdede; -webkit-box-shadow: вставка 0 5px 0 #ccc, вставка 0 6px 0 # 989898, вставка 0 13px 0 #dfdede; box-shadow: вставка 0 5px 0 #ccc, вставка 0 6px 0 # 989898, вставка 0 13px 0 #dfdede;  input [type = "submit"]. solid float: left; курсор: указатель; ширина: 130 пикселей; обивка: 8px 6px; поле слева: 20 пикселей; цвет фона: # f8b838; цвет: rgba (134, 79, 11, 0,8); преобразование текста: заглавные буквы; вес шрифта: полужирный; граница: 1px solid # 99631d; -moz-border-radius: 5px; -webkit-border-radius: 5px; радиус границы: 5 пикселей; тень для текста: 0 1px 2px rgba (255, 255, 255, 0,7), 0 -1px 0 rgba (64, 38, 5, 0,9); -moz-box-shadow: вставка 0 0 3px rgba (255, 255, 255, 0.6), вставка 0 1px 2px rgba (255, 255, 255, 0.7), 0 5px 0 # b8882a, 0 6px 0 # 593a11, 0 13px 0 #ccc; -webkit-box-shadow: вставка 0 0 3px rgba (255, 255, 255, 0.6), вставка 0 1px 2px rgba (255, 255, 255, 0.7), 0 5px 0 # b8882a, 0 6px 0 # 593a11, 0 13px 0 #ccc; box-shadow: вставка 0 0 3px rgba (255, 255, 255, 0.6), вставка 0 1px 2px rgba (255, 255, 255, 0.7), 0 5px 0 # b8882a, 0 6px 0 # 593a11, 0 13px 0 # ссс; -webkit-transition: фоновый режим 0.2s;  input [type = "submit"]. solid: hover, input [type = "submit"]. solid: focus background: # ffd842; -moz-box-shadow: вставка 0 0 3px rgba (255, 255, 255, 0.9), вставка 0 2px 1px rgba (255, 250, 76, 0.8), 0 5px 0 # d8a031, 0 6px 0 # 593a11, 0 13px 0 #ccc; -webkit-box-shadow: вставка 0 0 3px rgba (255, 255, 255, 0.9), вставка 0 2px 1px rgba (255, 250, 76, 0.8), 0 5px 0 # d8a031, 0 6px 0 # 593a11, 0 13px 0 #ccc; box-shadow: вставка 0 0 3px rgba (255, 255, 255, 0.9), вставка 0 2px 1px rgba (255, 250, 76, 0.8), 0 5px 0 # d8a031, 0 6px 0 # 593a11, 0 13px 0 # ссс;  input [type = "submit"]. solid: active background: # f6a000; положение: относительное; верх: 5 пикселей; граница: 1px solid # 702d00; -moz-box-shadow: вставка 0 0 3px rgba (255, 255, 255, 0.6), вставка 0 1px 2px rgba (255, 255, 255, 0.7), 0 3px 0 # b8882a, 0 4px 0 # 593a11, 0 8px 0 #ccc; -webkit-box-shadow: вставка 0 0 3px rgba (255, 255, 255, 0.6), вставка 0 1px 2px rgba (255, 255, 255, 0.7), 0 3px 0 # b8882a, 0 4px 0 # 593a11, 0 8px 0 #ccc; box-shadow: вставка 0 0 3px rgba (255, 255, 255, 0.6), вставка 0 1px 2px rgba (255, 255, 255, 0.7), 0 3px 0 # b8882a, 0 4px 0 # 593a11, 0 8px 0 # ссс;  

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

    Примечание редактора: Этот пост написан Бхарани М для Hongkiat.com. Бхарани - дизайнер / разработчик из Нью-Дели, Индия.

    © Savtec
    Полезная информация и советы по веб-разработке. Программирование, веб-дизайн, CSS, HTML, JAVASCRIPT. Настройка и переустановка WINDOWS. Создание сайтов и приложений с нуля.