Бесплатный вебинар
«как найти любимую работу»
Подарки на 150 000 ₽ за участие
Живой эфир
Записи не будет!
00:00:00:00
дн.ч.мин.сек.

Использование иконок Font Awesome в placeholder: решения

Быстрый ответ

Создайте неповторимый пользовательский опыт, добавляя иконки Font Awesome в поле ввода плейсхолдера. Для реализации этого эффекта разместите иконку над элементом ввода, применив соответствующие стили через CSS.

Пример кода для вашего использования:

HTML
Скопировать код
<div class="fa-input">
  <i class="fa fa-user"></i>
  <input type="text" placeholder="Имя пользователя">
</div>
CSS
Скопировать код
.fa-input {
  position: relative;
}
.fa-input .fa {
  position: absolute;
  left: 10px;
  top: 50%;
  transform: translateY(-50%);
}
.fa-input input {
  padding-left: 2em;
}

Данный подход CSS позволяет позиционировать иконку Font Awesome внутри поля ввода, создавая эффект плейсхолдера с иконкой.

Кинга Идем в IT: пошаговый план для смены профессии

Использование Unicode FontAwesome с CSS

Если вы работаете с FontAwesome 4.7, обязательно загляните в таблицу символов для получения необходимого Юникода. Взглянем, как это можно реализовать:

HTML
Скопировать код
<input type="text" placeholder="&#xf007; Имя пользователя" style="font-family: Arial, FontAwesome;">

Теперь у нас имеется Юникод &#xf007;, соответствующий иконке пользователя. А установка в поле font-family обеспечивает корректное отображение иконки.

Эстетические корректировки: CSS и FA (Font Awesome) 5

Если вы уже перешли на FontAwesome 5 и готовы применять псевдоэлементы CSS, то вот как можно это сделать:

CSS
Скопировать код
input[type="text"]::placeholder {
  font-family: 'FontAwesome 5 Free', 'Arial';
}
input[type="text"]:placeholder-shown {
  font-family: Arial;
}

Этот код позволит иконке оставаться видимой в пустом поле, а при начале ввода шрифт автоматически изменится на текстовый.

Предварительная проверка совместимости и использование SVG

Перед началом важно убедиться в совместимости браузеров. Проверьте, как ваш шрифт отображается в разных браузерах и при различных состояниях ввода. В этом помогут веб-разработчиками инструменты, такие как CodePen или JSFiddle.

Пользователям FA5, испытывающим трудности с использованием псевдоселекторов, может подойти вариант с SVG-иконками.

Визуализация

Вообразите, что поле ввода — это художественная палитра (🎨), а плейсхолдер — холст:

Markdown
Скопировать код
Палитра (🎨): Цвета = [Текст, Иконки]
Холст (🖼️): Плейсхолдер

Применение иконок Font Awesome в плейсхолдере:

HTML
Скопировать код
<input placeholder="&#xf007; Имя пользователя">

И вот результат:

Markdown
Скопировать код
🎨 -> 🖼️: [🎨]

Цвет иконки (🎨) теперь отразился на холсте — в рамках вашего художественного плейсхолдера!

Глубже в деталях

Дополнительная настройка CSS с меньшим количеством кода

Углублённые настройки можно найти в исходных кодах Font Awesome. Пользователи FA5 Free смогут обнаружить нужные им ресурсы в solid.css.

Подробнее об этом расскажет наш спикер на видео
skypro youtube speaker

Добавление интерактивности с помощью jQuery

Для создания реагирующего плейсхолдера, употребите jQuery в комбинации с font-family:

JS
Скопировать код
$('input[type="text"]').on('input', function() {
    if (this.value) {
        $(this).addClass('typed');
    } else {
        $(this).removeClass('typed');
    }
});
CSS
Скопировать код
input[type="text"].typed {
    font-family: Arial;
}

Полезные материалы

  1. Документация Font Awesome — Подробные инструкции по использованию Font Awesome в HTML.
  2. <input>: Элемент ввода данных формы – HTML: HyperText Markup Language | MDN — Официальное руководство по атрибуту placeholder HTML.
  3. ::placeholder | CSS-Tricks — Объяснение псевдоэлементов и плейсхолдеров в деталях.
  4. Поиск иконки | Font Awesome — Онлайн-инструмент для подбора иконок Font Awesome.
  5. HTML Юникод UTF-8 — Альтернативные варианты юникод-символов.
  6. CSS Свойство Content — Примеры использования свойства content с псевдоэлементами.
Проверь как ты усвоил материалы статьи
Пройди тест и узнай насколько ты лучше других читателей
Какое CSS правило нужно использовать для позиционирования иконки Font Awesome над полем ввода?
1 / 5