В данном уроке мы создадим раскрывающуюся форму поиска, которая отлично впишется в дизайн интерфейса для мобильных устройств. Для реализации элемента будет использоваться только CSS - никакого JavaScript и дополнительной разметки. Простой и эффективный способ для реализации компактной формы поиска.
Назначение
На мобильных устройствах идет учет каждого пикселя. Для минимизации требуемого для вывода формы пространства она будет изначально показываться в компактной форме и раскрываться по получению фокуса ввода (:focus ). Такой подход позволяет сохранить место для других элементов интерфейса и содержания.
Разметка HTML
Для формы используется HTML5. Код очень простой:
Сбрасываем вид для формы поиска по умолчанию в браузерах Webkit
По умолчанию в браузерах Webkit форма поиска будет иметь следующий вид:
Для того, чтобы форма поиска выглядела как обычное поле ввода текста нужно добавить следующие стили:
Input { -webkit-appearance: textfield; -webkit-box-sizing: content-box; font-family: inherit; font-size: 100%; } input::-webkit-search-decoration, input::-webkit-search-cancel-button { display: none; }
Формируем нашу форму поиска
Поле ввода будет иметь обычную ширину 55px и раскрываться для 130px в состоянии :focus . Свойство transition используется для анимации, а box-shadow используется для эффекта свечения.
Input { background: #ededed url(img/search-icon.png) no-repeat 9px center; border: solid 1px #ccc; padding: 9px 10px 9px 32px; width: 55px; /* Ширина по умолчанию */ -webkit-border-radius: 10em; -moz-border-radius: 10em; border-radius: 10em; -webkit-transition: all .5s; -moz-transition: all .5s; transition: all .5s; } input:focus { width: 130px; /* Ширина при наличии фокуса ввода */ background-color: #fff; border-color: #6dcff6; -webkit-box-shadow: 0 0 5px rgba(109,207,246,.5); -moz-box-shadow: 0 0 5px rgba(109,207,246,.5); box-shadow: 0 0 5px rgba(109,207,246,.5); /* Эффект свечения */ }
Пример В
В примере B форма поиска существенно минимизирована - выводится только иконка без заполняющего текста. Обратите внимание, что изменились свойства padding и width для поля поиска, чтобы сформировать круглую кнопку. Для того, чтобы текст был невидим используется свойство color:transparent .
#demo-b input { width: 15px; padding-left: 10px; color: transparent; cursor: pointer; } #demo-b input:hover { background-color: #fff; } #demo-b input:focus { width: 130px; padding-left: 32px; color: #000; background-color: #fff; cursor: auto; }
Совместимость с браузерами
Описанный метод работает во всех основных браузерах: Chrome, Firefox, Safari, и IE8+. В IE7 и старых браузерах функционал не действует по причине отсутствия поддержки псевдо-класса:focus и типа поля поиска.
Октябрь 25, 2019 Запись была обновлена
Выдвигающаяся форма поиска на сайт
Стиль Flat обрел немалую популярность при дизайне сайтов. И в этом уроке мы рассмотрим еще один элемент сайта, который сделан в этом стиле. Это элемент — форма поиска. Но не простая , а форма поиска которая появляется при нажатии и «сворачивается» если ее не используют. Что касается иконки поиска, то она берется из SVG-файла и является масштабируемой при различных разрешениях экрана(как на мобильных устройствах, так и на больших мониторах).
Пример можно увидеть здесь:
Скачать
Выдвигающаяся форма поиска
Как использовать?
HTML
Сперва определимся с разметкой, которая будет на HTML странице:
1 2 3 4 5 6 7 | <div id = "sb-search" class = "sb-search" > <form > <input class = "sb-search-input" placeholder= "Что будет искать?" type = "text" value = "" name = "search" id = "search" > <input class = "sb-search-submit" type = "submit" value = "" > <span class = "sb-icon-search" > span > </ form > </ div > |
В форме поиска ничего необычного нет: текстовое поле для ввода, кнопка поиска и элемент для иконки.
CSS
Теперь добавим стилей, чтобы форма поиска красиво смотрелась на странице.
Так как будет появляться при клике, то изначально она скрыта. Это делается с помощью свойства overflow и его значением hidden , в результате чего скрывается всё что находится за пределами иконки(в итоге мы видим только иконку, а текстовое поле нет):
.sb-search { position : relative ; margin-top : 10px ; width : 0% ; min-width : 60px ; height : 60px ; float : right ; overflow : hidden ; -webkit-transition : width 0.3s; -moz-transition : width 0.3s; transition : width 0.3s; -webkit-backface-visibility : hidden ; } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | .sb-search-input { position : absolute ; top : 0 ; right : 0 ; border : none ; outline : none ; background : #fff ; width : 100% ; height : 60px ; margin : 0 ; z-index : 10 ; padding : 20px 65px 20px 20px ; font-family : inherit ; font-size : 20px ; color : #2c3e50 ; } input[ type= "search" ] .sb-search-input { -webkit-appearance: none ; -webkit-border-radius : 0px ; } |
Определяем цвет текста, который находится на фоне запроса(текста, который мы вводим при поиске):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | .sb-search-input : :-webkit-input-placeholder { color : #efb480 ; } .sb-search-input :-moz-placeholder { color : #efb480 ; } .sb-search-input : :-moz-placeholder { color : #efb480 ; } .sb-search-input :-ms-input-placeholder { color : #efb480 ; } |
Кнопка поиска находится всегда над остальными блоками и элементами на странице, поэтому задаем ей большое значение z-index :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | .sb-icon-search { color : #fff ; background : #e67e22 ; z-index : 90 ; font-size : 22px ; font-family : "icomoon" ; speak : none ; font-style : normal ; font-weight : normal ; font-variant : normal ; text-transform : none ; -webkit-font-smoothing : antialiased; } .sb-icon-search :before { content : "\e000 " ; } |
Также не забываем подключить специальные иконки(SVG). Для того чтобы вставить иконку в кнопке поиска:
1 2 3 4 5 6 7 8 9 10 | @font-face { font-family : "icomoon" ; src: url ("../fonts/icomoon/icomoon.eot" ) ; src: url ("../fonts/icomoon/icomoon.eot?#iefix" ) format("embedded-opentype" ) , url ("../fonts/icomoon/icomoon.woff" ) format("woff" ) , url ("../fonts/icomoon/icomoon.ttf" ) format("truetype" script > <script src = "js/uisearch.js" > script > <script > new UISearch(document.getElementById("sb-search")); </ script > |
Вывод
Симпатичная форма поиска, которая занимает очень мало места на сайте и красиво появляется при нажатии на иконку с поиском.
Для многих людей эффективность поиска информации в Интернете – это те самые ноги, которые волка кормят. Где найти актуальную и свежую информацию? Где купить дешевле, а продать подороже? Где найти максимально точные инструкции для выполнения тех или иных задач? Где посмотреть фильмы онлайн? Чтобы максимально корректно отвечать на эти и подобные вопросы пользователей поисковые системы из года в год совершенствуют и без того изощрённые механизмы представления сайтов в поисковых выдачах по конкретным пользовательским запросам. Цель поисковиков – отвести людей на как можно более качественный сайт для получения ответа на заданные вопросы.
Помимо поисковых механизмов, сами поисковики оснащены фильтрами поиска, чтобы любой пользователь мог сузить область поиска информации или конкретизировать свой запрос.
Рассмотрим ниже некоторые из поисковых расширений, которыми можно дополнить популярные браузеры, и, как следствие - увеличить эффективность поиска информации в Интернете.
Поисковые расширения для Google Chrome
Search the current site
Внутренним поисковиком обустроен не каждый сайт, и на таких ресурсах приходиться подолгу бегать из раздела в раздел в поисках конкретной информации. Внедрённое в браузер расширение для поиска внутри сайта – универсальный инструмент, который будет всегда под рукой, на какой бы сайт вы не попали. Всё, что необходимо сделать для поиска нужной информации внутри какого-то сайта, это ввести ключевой запрос в небольшое поисковое поле, появляющееся при нажатии кнопки расширения на панели браузера.
В новой вкладке браузера откроются результаты поиска поисковика, и в них будут отобраны страницы конкретного сайта, где встречается ключевое слово.
Search the current site внедряется с предустановленной поисковой системой Google, но в параметрах расширения можно установить другой поисковик – Яндекс, Yahoo или Bing. Для этого на кнопке расширения вызываем контекстное меню и выбираем команду «Параметры».
В новой вкладке браузера откроются параметры расширения, где можем выбрать другую поисковую систему. И уже она будет осуществлять поиск внутри сайта.
Альтернативный поиск Google
Поисковая система Яндекс изначально предусматривает возможность искать информацию в двух других поисковиках - Google и Bing – одним кликом, правда ссылки для перехода в эти поисковики вместе с введённым ключевые запросом ютятся в самом низу страницы результатов поиска.
А вот Google в этом плане более эгоистичен - в его результатах поиска нет никаких упоминаний о поисковиках-конкурентах. Исправить эту ситуацию можно, внедрив в Google Chrome расширение «Альтернативный поиск Google».
Чем постоянно за каждым разом вводить в довесок к ключевому слову «торрент», чтобы получить результаты поиска по торрент-трекерам, проще установить специальное расширение для этих целей TMS (Torrents MultiSearch).
Кнопка расширения внедряется в панель инструментов браузера, и при её нажатии откроется небольшое поисковое поле для ввода запроса.
Результаты поиска появляются в отдельной вкладке, и это будет контент, найденный только на торрент-трекерах Рунета, а не на сайтах-варезниках, софт- и медийных порталах или официальных сайтах.
В результатах поиска по торрент-трекерах найденный контент можно отфильтровать по размеру файла или дате его выкладки. Для сужения поиска можно задать дополнительно ключевые слова.
Результаты поиска также можно смотреть отдельно по конкретным торрент-трекерам и отдельно по таким типам контента, как фильмы, музыка, программное обеспечение.
Помимо этого, расширение TMS внедряется в контекстное меню браузера, чтобы можно было отправить в поиск по торрент-трекерам любое слово или фразу, выделенные на страницах в Интернете без лишней возни с копированием и вставкой.
Контекстный поиск
В Google Chrome внедрена функция контекстного поиска с помощью одного поисковика, установленного в браузере по умолчанию. Увеличить число поисковых систем, с помощью которых можно искать любое выделенное слово на страницах сайтов, призвано расширение «Контекстный поиск».
В расширении изначально присутствует возможность поиска по популярнейшему торрент-трекеру RuTracker, по Википедии и по медийному порталу Kinopoisk.Ru.
Другие поисковики, чтобы через них можно было бы искать информацию прямо из контекстного меню браузера, добавляются в параметрах расширения. Откроем меню Google Chrome, выберем «Настройки» и перейдём в раздел расширений, установленных в браузере.
В перечне расширений выбираем нужное нам – «Контекстный поиск». Жмём ссылку «Параметры».
Поисковые расширения для Opera
Search within the site
Кнопка расширения находится на панели инструментов браузера, и, нажав на неё, можно вызвать поисковое поле для ввода ключевого запроса, а также сменить поисковик.
Предустановленные Яндекс и Google в настройках расширения можно дополнить другими поисковиками. Вызовем на кнопке расширения контекстное меню и выбираем команду «Настройки».
Точно так же, как и в случае с расширением «Контекстный поиск» для Google Chrome, для добавления новой поисковой системы необходимо ввести её URL-строку.
Torrents MultiSearch
Similar image search
Similar image search добавляет в контекстное меню браузера Opera дополнительную команду поиска похожих изображений с помощью нескольких поисковиков.
Или будет представлен список публикаций с похожими картинками.
Поисковые расширения для Mozilla Firefox
Поиск по сайту
Как и в предыдущих двух случаях, специальное расширение для поиска внутри любого сайта в Интернете существует и для браузера Mozilla Firefox.
Только в случае с Огненным Лисом поиск по сайту встраивается в существующее поисковое поле браузера, добавляя перед значком обычного поиска свой значок в виде красного увеличительного стекла.
Смена поисковика по умолчанию для обычного поиска Mozilla Firefox влечёт за собой и смену поисковика и для поиска внутри сайтов.
Расширение «Поиск по сайту» интегрируется в контекстное меню Mozilla Firefox, и, выделив любое «попавшееся под руку» слово, в отдельных результатах поиска можно увидеть все страницы сайта, где это слово присутствует.
Поиск от byffox
Любые программные продукты с такими «ещё не повзрослевшими» названиями, как правило, раздражают многих пользователей тем, что в них ну никак не усматривается даже намёк о целевом назначении предлагаемого инструментария.
И о том, что именно предлагает «Софтина от Васи» или «Репак игрули от Пети», приходится узнавать только при детальном ознакомлении с описанием. Тем не менее, за таким легкомысленным названием, как «Поиск от byffox», кроется полезный и толковый функционал. Это расширение позволяет пополнить контекстное меню браузера дополнительной командой поиска выделенного слова с помощью различных поисковиков.
Поле поиска для сайта — один из важнейших элементов пользовательского интерфейса на веб-странице. С его помощью пользователь может найти нужный контент на вашем сайте.
В этом уроке вы узнаете, как создать разметку для поля поиска с помощью HTML5, а также как стилизовать элементы формы, используя возможности CSS3, без использования скриптов.
1. Разметка HTML
Элемент