Gunakan .input-icon
div induk . Tambahkan secara opsional .input-icon-right
.
<div class="input-icon">
<input type="text">
<i>$</i>
</div>
<div class="input-icon input-icon-right">
<input type="text">
<i>€</i>
</div>
Sejajarkan ikon secara vertikal dengan transform
dan top
, dan atur pointer-events
ke none
sehingga klik fokus pada input. Sesuaikan padding
dan width
sesuai:
.input-icon {
position: relative;
}
.input-icon > i {
position: absolute;
display: block;
transform: translate(0, -50%);
top: 50%;
pointer-events: none;
width: 25px;
text-align: center;
font-style: normal;
}
.input-icon > input {
padding-left: 25px;
padding-right: 0;
}
.input-icon-right > i {
right: 0;
}
.input-icon-right > input {
padding-left: 0;
padding-right: 25px;
text-align: right;
}
Tidak seperti jawaban yang diterima, ini akan mempertahankan sorotan validasi input, seperti batas merah ketika ada kesalahan.
Contoh penggunaan JSFiddle dengan Bootstrap dan Font Awesome