11 ответов:
вы не можете добавить значок и текст, потому что вы не можете применить другой шрифт к части заполнителя, однако, если вы удовлетворены только значок, то он может работать. Значки FontAwesome-это просто символы с пользовательским шрифтом (вы можете посмотреть на FontAwesome.css для экранированного символа Юникода в
contentправило. В меньшем исходном коде он находится в переменные.меньше задача будет заключаться в том, чтобы поменять шрифты, когда вход не пуст. Совместите его с в jQuery, как этой.<form role="form"> <div class="form-group"> <input type="text" class="form-control empty" id="iconified" placeholder=""/> </div> </form>С этим CSS:
input.empty { font-family: FontAwesome; font-style: normal; font-weight: normal; text-decoration: inherit; }и этот (простой) jQuery
$('#iconified').on('keyup', function() { var input = $(this); if(input.val().length === 0) { input.addClass('empty'); } else { input.removeClass('empty'); } });переход между шрифтами не будет гладким, однако.
Если вы используете
FontAwesome 4.7этого должно быть достаточно:<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet"/> <input type="text" placeholder=" Search" style="font-family:Arial, FontAwesome" />список шестнадцатеричных кодов можно найти в шрифт Awesome cheatsheet. Однако в последнем FontAwesome 5.0 этот метод не работает (даже если вы используете подход CSS в сочетании с обновленным
font-family).
Я решил с помощью этого метода:
в CSS я использовал этот код fontAwesome class:
.fontAwesome { font-family: 'Helvetica', FontAwesome, sans-serif; }в HTML я добавил fontawesome class и fontawesome icon code внутри местозаполнителя:
<input type="text" class="fontAwesome" name="emailAddress" placeholder=" insert email address ..." value="">Вы можете ознакомиться в CodePen.
где поддерживается, вы можете использовать
::input-placeholderpseudoselector в сочетании с::before.Смотрите пример по адресу:
http://codepen.io/JonFabritius/pen/nHeJg
Я просто работал над этим и наткнулся на эту статью, из которой я изменил этот материал:
Я использую Ember (версия 1.7.1), и мне нужно было как привязать значение ввода, так и иметь заполнитель, который был значком FontAwesome. Единственный способ привязать значение в Ember (что я знаю) - это использовать встроенный помощник. Но это приводит к тому, что заполнитель экранируется," " просто появляется точно так же, текст.
если вы используете Ember или нет, вам нужно установить CSS заполнителя ввода, чтобы иметь семейство шрифтов FontAwesome. Это SCSS (с помощью Бурбон для стиля заполнителя):
input { width:96%; margin:5px 2%; padding:0 8px; border:1px solid #444; border-radius: 14px; background: #fff; @include placeholder { font-family: 'FontAwesome', $gotham; } }если вы просто используете руль, как уже упоминалось ранее, вы можете просто установить HTML-объект в качестве заполнителя:
<input id="listFilter" placeholder="" type="text">если вы используете Ember привязать заполнитель к свойству контроллера, который имеет значение unicode.
в шаблоне:
{{text-field id="listFilter" placeholder=listFilterPlaceholder value=listFilter}}на контроллере:
listFilter: null, listFilterPlaceholder: "\uf002"и стоимость обязательных работ ладно!
Я делаю это путем добавления
fa-placeholderкласс для ввода текста:
<input type="text" name="search" class="form-control" placeholder="" />Итак, в css просто добавьте это:
.fa-placholder { font-family: "FontAwesome"; }это хорошо работает для меня.
обновление:
чтобы изменить шрифт во время ввода текста пользователем, просто добавьте свой шрифт после шрифта awesome
.fa-placholder { font-family: "FontAwesome", "Source Sans Pro"; }
использовать
placeholder=""в ваш вклад. Вы можете найти Юникод в FontAwesome page http://fontawesome.io/icons/ . Но вы должны убедиться, что добавитьstyle="font-family: FontAwesome;"в ваш вклад.
кто-нибудь интересуется a Шрифт Удивительный 5 реализация:
Не указывайте общее семейство шрифтов" Font Awesome 5", вам нужно специально закончить ветку значков, с которыми вы работаете. Вот я использую филиал "бренды", например.
<input style="font-family:'Font Awesome 5 Brands' !important" type="text" placeholder="">более подробно используйте значок шрифта Awesome (5) в тексте заполнителя ввода
есть некоторая небольшая задержка и джанк, как изменения шрифта в ответе, предоставленном Джейсоном. Использование события " change "вместо" keyup " решает эту проблему.
$('#iconified').on('change', function() { var input = $(this); if(input.val().length === 0) { input.addClass('empty'); } else { input.removeClass('empty'); } });
игнорируя jQuery это можно сделать с помощью
::placeholderвходного элемента.<form role="form"> <div class="form-group"> <input type="text" class="form-control name" placeholder=""/> </div> </form>часть css
input.name::placeholder{ font-family:fontAwesome; font-size:[size needed]; color:[placeholder color needed] } input.name{ font-family:[font family you want to specify] }ЛУЧШАЯ ЧАСТЬ: Вы можете иметь различное семейство шрифтов для заполнителя и текста
я добавил текст и значок вместе в местозаполнитель.
placeholder="Edit "CSS:
font-family: FontAwesome,'Merriweather Sans', sans-serif;


Comments