如何在输入字段中放置 Font Awesome 图标?


在许多情况下,开发者需要在文本输入框或特定的 HTML 元素内放置图标。例如,我们正在创建一个包含多个输入框的表单。如果我们将与表单输入字段相关的图标放在输入框内,我们可以为应用程序创建一个更好的 UI 和更具吸引力的设计。

在本教程中,我们将使用 font-awesome 库在网页上添加图标。此外,我们将操作 CSS 代码以将图标放置在输入字段内。

语法

用户可以按照以下语法将图标放置在输入字段内。

input { padding-left: 40px; } 
i { position: absolute; left: 0; top: 11px; }

在上述语法中,我们为输入字段设置了填充。之后,我们为图标设置了“absolute”位置并设置了顶部位置。此外,我们还可以根据需要设置图标的填充。

示例 1

在下面的示例中,我们创建了一个类名为“form”的 div。此外,我们为每个输入定义了 div 元素,并根据其包含的输入设置了不同的类名。我们在 div 元素内添加了标签、输入元素和 Font Awesome 图标。

在 CSS 中,我们为输入元素的父 div 设置样式。此外,我们为输入元素设置了 40px 的左填充,以将图标设置在该位置。用户可以根据图标大小设置填充。

之后,我们为图标设置了绝对位置。此外,我们根据输入元素的位置固定了顶部位置。此外,我们还为图标设置了填充并添加了 0.3 秒的过渡。

用户可以在输出中观察文本输入字段内的图标。

<html>
<head>
   <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
   <style>
      .fileExtension, .filename { position: relative; display: flex; flex-direction: column; width: 300px; }
      .fileExtension input, .filename input { padding-left: 40px; }
      .fileExtension i, .filename i { position: absolute; left: 0; top: 11px; padding: 9px 8px; transition: 0.3s; }
   </style>
</head>
<body>
   <h3> Using the <i> CSS to place font Awesome </i> icons inside the input field  </h3>
   <div class="form">
      <div class="filename">
         <label> <b> filename </b> </label>
         <input type="text" placeholder="Enter filename" name="filename" required>
         <i class="fa fa-code"> </i>
      </div>  <br>
      <div class="fileExtension">
         <label> <b> File Extenssion </b> </label>
         <input type="text" placeholder="Enter file extension" name="extension" required>
         <i class="fa fa-code"> </i>
      </div>
   </div>
</html>

示例 2(使用 :after 伪类)

在这个示例中,我们使用了“:after”伪选择器在输入字段中设置图标。“:after”伪选择器会将 HTML 元素从网页的原始流中移除,并使其独立。

在这里,我们在 div 元素内添加了输入元素。在 CSS 中,我们设置了输入元素的“position: relative”。之后,我们使用了“:after”伪选择器,它将在输入元素之后放置图标。我们使用 CSS 的特定代码和“content”属性在输入元素之后添加了图标。此外,我们在为“position”属性设置“absolute”值后,为图标设置了右侧位置。

在输出中,我们可以看到图标放置在输入字段的右侧。

<html>
<head>
   <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
   <style>
      .input {
         display: inline-block;
         position: relative;
      }
      .input:after {
         position: absolute;
         right: 6px;
         font-family: 'FontAwesome';
         content: '\f274';
      }
   </style>
</head>
<body>
   <h3> Using the <i> CSS to place font Awesome </i> icons inside the input field </h3>
   <div class="input">
      <input type="text" placeholder="Enter date" />
   </div>
</html>

示例 3

在下面的示例中,我们在 HTML 中的输入元素上方的“span”中添加了图标。在 CSS 中,我们为输入元素设置了左填充。此外,我们为图标元素设置了绝对位置。之后,我们更改了图标元素的位置,以便我们可以将其放在输入元素内。

用户可以在输出中看到我们在输入元素内添加了错误图标。

<html>
<head>
   <link rel = "stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
   <style>
      #input {
         padding-left: 35px;
      }
      /* placing the icon */
      .error {
         position: absolute;
         margin-top: 1.5px;
         margin-left: 5px;
         font-size: 20px;
         color: red;
      }
   </style>
</head>
<body>
   <h2> Using the <i> CSS to place font Awesome </i> icons inside the input field </h2>
   <span class = "fa fa-info-circle error"> </span>
   <input name = "input" id = "input">
</html>

在本教程中,我们学习了如何在输入字段内设置图标。我们可以在用户名输入字段内设置用户图标,在电话号码输入字段内设置电话图标,在密码输入字段内设置密钥图标,在电子邮件输入字段内设置收件箱图标等。

开发者需要使用“absolute”位置和不同的定位属性来设置输入字段内的图标位置。

更新于:2023年7月26日

3K+ 浏览量

启动您的职业生涯

通过完成课程获得认证

开始学习
广告