文本输入元素中的Font Awesome图标

我正在尝试在用户名输入字段中插入用户图标。

我尝试过类似问题的一种解决方案, 因为该background-image属性由于FontAwesome是一种字体而无法使用。

以下是我的方法,但无法显示图标。

.wrapper input[type="text"] {

position: relative;

}

.wrapper input[type="text"]:before {

font-family: 'FontAwesome';

position: absolute;

top: 0px;

left: -5px;

content: "\f007";

}

我在默认字体真棒css中声明了字体,所以我不确定在上面添加字体系列是否正确。

 @font-face {

font-family: 'FontAwesome';

src: url('../Font/fontawesome-webfont.eot?v=3.2.1');

src: url('../Font/fontawesome-webfont.eot?#iefix&v=3.2.1') format('embedded-opentype'), url('../Font/fontawesome-webfont.woff?v=3.2.1') format('woff'), url('../Font/fontawesome-webfont.ttf?v=3.2.1') format('truetype'), url('../Font/fontawesome-webfont.svg#fontawesomeregular?v=3.2.1') format('svg');

}

回答:

你是对的。:before和:after伪内容不适用于替换的内容(如imginput元素)。与使用背景图像一样,添加包装元素并声明字体系列是一种可能。或者,也许html5占位符文本符合您的需求:

<input name="username" placeholder="&#61447;">

不支持占位符属性的浏览器将直接忽略它。

回答:

before内容选择器选择输入:input[type="text"]:before。您应该选择包装器:.wrapper:before。我还添加了占位符建议,其中包装是多余的。

.wrapper input[type="text"] {

position: relative;

}

input { font-family: 'FontAwesome'; } /* This is for the placeholder */

.wrapper:before {

font-family: 'FontAwesome';

color:red;

position: relative;

left: -5px;

content: "\f007";

}

<p class="wrapper"><input placeholder="&#61447; Username"></p>

回答:

Font

Awesome使用Unicode专用区(PUA)来存储图标。其他字符不存在,并退回到浏览器默认值。这应该与任何其他输入相同。如果在输入元素上定义字体,则在我们使用图标的情况下,提供与后备字体相同的字体。像这样:

input { font-family: 'FontAwesome', YourFont; }

以上是 文本输入元素中的Font Awesome图标 的全部内容, 来源链接: utcz.com/qa/419743.html

回到顶部