物化输入内的字体真棒图标

Posted

技术标签:

【中文标题】物化输入内的字体真棒图标【英文标题】:Font awesome icon inside of materialize input 【发布时间】:2021-11-13 21:58:59 【问题描述】:

我试图在物化文本输入中放置一个很棒的字体图标,但没有运气。我的意思不是经常像他们在他们的网站上展示的那样。

我的意思是这样的:

当前代码:

            <div class="row" style="margin-top: 0px !important; margin-bottom: 0px !important; padding: 0px !important;">
            <div class="input-field col s12" style="margin-top: 0px !important; margin-bottom: 0px !important; padding: 0px !important;">
            <span style="right:8px;top:10px;" class="fas fa-user"></span>
            <input value="X (4)" id="tag" type="text" class="validate white-text" disabled">
            </div>
            <div class="input-field col s12" style="margin-top: 0px !important; margin-bottom: 0px !important; padding: 0px !important;">
            <span style="right:8px;top:10px;" class="fas fa-user"></span>
          <input value="X Coin" id="type" type="text" class="validate white-text" disabled">
            </div>
          </div>

正如您在图像上看到的那样,它实际上位于 matralize 输入内,因为它位于输入边框底部内。

这使用默认材料化(我的代码)。

我将如何做到这一点?我尝试在输入字段 div 之外添加字体真棒,但除此之外它不会对齐。或者在里面。

感谢阅读。

问候。

【问题讨论】:

你试过&lt;i class="fas fa-user"&gt;&lt;/i&gt; &lt;i class="fa fa-user"&gt;&lt;/i&gt;吗? 是的,结果相同。我希望它在输入中,如图所示 【参考方案1】:

通过仅使用css 属性来获得所需的效果来看起来像结构。

body 
  background-color: #4a647b;

input 
  background: none;
  border: none;
  color: #d1cfd9;
  padding: 5px;

.input-field 
  border-bottom: 1px solid #d1cfd9;

.fa 
  color: #d1cfd9;
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet"/>

<div class="row" style="margin-top: 0px !important; margin-bottom: 0px !important; padding: 0px !important; width: 200px">
  <div class="input-field col s12" style="margin-top: 0px !important; margin-bottom: 0px !important; padding: 0px !important;">
    <span style="right:8px;top:10px;" class="fa fa-user"></span>
    <input value="X (4)" id="tag" type="text" class="validate white-text" disabled>
  </div>
            
  <div class="input-field col s12" style="margin-top: 0px !important; margin-bottom: 0px !important; padding: 0px !important;">
    <span style="right:8px;top:10px;" class="fa fa-user"></span>
    <input value="X Coin" id="type" type="text" class="validate white-text" disabled>
  </div>
</div>


您的输入元素也存在语法错误。

改变这个:

<input value="X (4)" id="tag" type="text" class="validate white-text" disabled">

到:

<input value="X (4)" id="tag" type="text" class="validate white-text" disabled>

【讨论】:

无论如何要把它集成到Materalize中? Materalize 已经有边框底了! 我尝试复制您的代码并将其应用于我的代码,结果如下:imgur.com/a/Hkp4PLR 尝试从代码中删除width: 200pxdisplay: inline-block css添加到输入字段。 是的,因为它有点上面,我想把它往下推,但由于填充我不能 好的尝试显示:inline-block 并从行 div 中删除:200px,结果相同。我还尝试在图标上添加边距以将其向下推,但由于输入本身的填充,我不能这样做【参考方案2】:

你只需要改变位置:

 <div class="position-relative">
         <div class="input-field">
             <input  type="text" />
             <label for="datepicker2">Add</label>
         </div>
         <div class="position-absolute" style="top:5px;right:0;">
          <i class="material-icons">add</i>
         </div>
    </div>

【讨论】:

以上是关于物化输入内的字体真棒图标的主要内容,如果未能解决你的问题,请参考以下文章

md 按钮内的字体真棒图标对齐

使用 jquery 添加类后,字体真棒图标字体作为输入中的占位符

构建字体真棒图标

如何在 Vue.js 中动态添加字体真棒图标

在谷歌地图标记标签的字体真棒图标标记中放置一个数字

setState 不更新字体真棒图标