我尝试将字体真棒图标转换为文本输入类型。
但是可以得到想法并且它不起作用。
如下图所示。
.search_location{
padding: 9px 10px 8px 10px;
background: #fff;
color: #777777;
position: relative;
}
i.icon-map-marker
{
position: absolute;
top: 10px;
left: 50px;
}
<p>
<input type="text" class="search_location" value="Choose Location">
<i class="icon-map-marker"></i>
</p>
答案 0 :(得分:1)
你可以试试这个:
p{
position: relative;
font-family: 'FontAwesome';
}
p::after{
position: relative;
left: -20px;
content: "\f002";
}
input{
padding-right: 20px;
}
&#13;
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet"/>
<p>
<input type="text" class="search_location" value="Choose Location">
</p>
&#13;
content
是你的图标unicode。您还必须指定font-family
,因此它使用font awesome
(在其图标页面上可以找到unicodes)。
答案 1 :(得分:0)
要放置带position: absolute
的元素,我们通常需要在父元素上添加position: relative
。从Documentation开始:
绝对定位的元素相对于最近定位的祖先(非静态)定位。如果定位的祖先不存在,则使用初始容器。
我建议你使用一点修改后的HTML
,如下所示:
<div class="input-holder">
<input type="text" class="search_location" value="Choose Location">
<i class="fa fa-map-marker icon"></i>
</div>
在css中进行了一些以下更改:
* {box-sizing: border-box;}
.input-holder {
position: relative;
width: 300px;
}
.search_location {
display: block;
width: 100%;
}
* {box-sizing: border-box;}
.input-holder {
position: relative;
width: 300px;
}
.search_location {
padding: 9px 10px 8px 10px;
background: #fff;
display: block;
color: #777;
width: 100%;
}
.icon {
position: absolute;
right: 10px;
top: 10px;
}
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet"/>
<div class="input-holder">
<input type="text" class="search_location" value="Choose Location">
<i class="fa fa-map-marker icon"></i>
</div>