当前位置: 首页 > 面试题库 >

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

焦宁
2023-03-14
问题内容

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

我尝试过类似问题的一种解决方案, 因为该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; }


 类似资料:
  • 我有一个很简单的情况,我似乎无法解决。我想将文本垂直居中到FontAwesome图标。但我一辈子都想不出为什么它不居中。 我尝试过其他答案,但没有一个使用:before CSS定义,这是一种非常普遍的实现图标的方法。

  • 我在默认的font awesome css中声明了字体面,所以我不确定上面添加字体族是否是正确的方法。

  • 问题内容: 将焦点设置到元素之后,通过JavaScript将光标放置在输入文本元素中文本末尾的最佳方法(我想是最简单的方法)是什么? 问题答案: 我在IE中遇到了同样的问题(通过RJS /原型设置焦点之后)。当该字段已有值时,Firefox已经将光标留在末尾。IE迫使光标移至文本的开头。 我得出的解决方案如下: IE7和FF3均适用

  • 这是HTML 这是我的代码 < code>WebDriverWait(浏览器,30)。直到(EC . presence _ of _ element _ located((By。CLASS_NAME,' MCE-textbox MCE-ABS-layout-item MCE-last '))。send_text('任何东西') 我尝试了几乎所有的方法(ID、xpath、tag_name、css选择

  • 我已经创建了一个带有输入的表单,但是该框只处理单行中的文本。我想将其样式设置为输入字段类似于Twitter的输入字段,其中框本身是多行: 当您按enter键时,它也会展开: 这就是我目前拥有的: 我已经设计了按钮和输入的样式,但是没有做任何改变它的形状,所以它是默认的。要实现这一点,我需要调整什么?

  • 我想将文本从软键盘输入到popupwindow中的Edittext小部件,但我遇到了一些问题。我的活动是一个游戏卡桌,并在上面启用一些动画。在游戏表中,有一些按钮。如果玩家点击某个按钮,将显示一个弹出窗口。问题是播放器无法在弹出窗口中输入文本到Edittext。我发现了一些类似的问题,最流行的建议是: 使用此设置,我可以正常输入Edittext。但是,这将阻止主UI线程并导致停止游戏表中的动画。我