8 299 Скрипты / Form

Компактная форма поиска на CSS3


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

HTML

Простая форма с html5 тегом:

<form>
    <input placeholder="Поиск" type="search">
</form>

CSS

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

input {
    outline: none;
}
input[type=search] {
    -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; /* remove the search and cancel icon */
}

Оформим форму поиска:

На всех свойствах останавливаться не будем, просто отметим, что ширина поискового input вначале имеет значение 55px, и будет расширться до 130px в момент фокуса :focus. Свойство transition позволяет анимировать это изменение ширины. Для свечения используется box-shadow:

В демо 2 input поле поиска еще компактнее - отображаться будет только иконка. При клике по ней будет также происходить изменение ширины поля ввода.

#demo-b input[type=search] {
    width: 18px;
    padding-left: 10px;
    color: transparent;
    cursor: pointer;
}
#demo-b input[type=search]:hover {
    background-color: #fff;
}
#demo-b input[type=search]:focus {
    width: 130px;
    padding-left: 32px;
    color: #000;
    background-color: #fff;
    cursor: auto;
}

А текст сделали прозрачным:

#demo-b input:-moz-placeholder {
    color: transparent;
}
#demo-b input::-webkit-input-placeholder {
    color: transparent;
}

Форма работает во всех современных браузерах Chrome, Firefox, Safari, и IE8+.

Скачать 2752Загрузок 2 Kb
Демо

Комментарии

  • Facebook
  • Вконтакте

Похожие статьи