Поместите значок внутри элемента ввода в форме
706 12
12 ответов:
сайт, который вы связали, использует комбинацию трюков CSS, чтобы снять это. Во-первых, он использует фоновое изображение для
<input>элемент. Затем, чтобы переместить курсор, он используетpadding-left.другими словами, у них есть эти два правила CSS:
background: url(images/comment-author.gif) no-repeat scroll 7px 7px; padding-left:30px;
решения CSS, опубликованные другими, являются лучшим способом для достижения этой цели.
Если это должно дать вам какие-либо проблемы (читать IE6), вы также можете использовать вход без границ внутри div.
<div style="border: 1px solid #DDD;"> <img src="icon.png"/> <input style="border: none;"/> </div>не как "чистый", но должен работать на старых браузерах.
вы можете попробовать это:
input[type='text'] { background-image: url(images/comment-author.gif); background-position: 7px 7px; background-repeat: no-repeat; }
Я нахожу это лучшее и самое чистое решение для него. Используя текст абзаца на
inputэлементCSS:
#icon{ background-image:url(../images/icons/dollar.png); background-repeat: no-repeat; background-position: 2px 3px; }HTML:
<input id="icon" style="text-indent:17px;" type="text" placeholder="Username" />
решение без фона-изображение:
#input_container { position:relative; padding:0 0 0 20px; margin:0 20px; background:#ddd; direction: rtl; width: 200px; } #input { height:20px; margin:0; padding-right: 30px; width: 100%; } #input_img { position:absolute; bottom:2px; right:5px; width:24px; height:24px; }<div id="input_container"> <input type="text" id="input" value> <img src="https://cdn4.iconfinder.com/data/icons/36-slim-icons/87/calender.png" id="input_img"> </div>
.icon{ background: url(1.jpg) no-repeat; padding-left:25px; }добавить выше теги в файл CSS и использовать указанный класс.
просто используйте свойство фона в вашем CSS.
<input id="foo" type="text" /> #foo { background: url(/img/foo.png); }
использование с font-icon
<input name="foo" type="text" placeholder="">или
<input id="foo" type="text" /> #foo::before { font-family: 'FontAwesome'; color:red; position: relative; left: -5px; content: "\f007"; }
вы можете попробовать это : Bootstrap-4 бета
https://www.codeply.com/go/W25zyByhec<div class="container"> <form> <div class="row"> <div class="input-group mb-3 col-sm-6"> <input type="text" class="form-control border-right-0" placeholder="Username" aria-label="Username" aria-describedby="basic-addon1"> <div class="input-group-prepend bg-white"> <span class="input-group-text border-left-0 rounded-right bg-white" id="basic-addon1"><i class="fas fa-search"></i></span> </div> </div> </div> </form> </div>
<label for="fileEdit"> <i class="fa fa-cloud-upload"> </i> <input id="fileEdit" class="hidden" type="file" name="addImg" ng-file-change="onImageChange( $files )" ng-multiple="false" accept="{{ contentType }}"/> </label>например, вы можете использовать это : метка со скрытым входом (значок присутствует).
у меня была такая ситуация. Это не сработало из-за
background: #ebebeb;. Я хотел поместить фон в поле ввода, и это свойство постоянно отображалось в верхней части фонового изображения, и я не мог видеть изображение! Итак, я переместилbackgroundсвойство быть вышеbackground-imageсвойство и это сработало.input[type='text'] { border: 0; background-image: url('../img/search.png'); background-position: 9px 20px; background-repeat: no-repeat; text-align: center; padding: 14px; background: #ebebeb; }решение для моего случая было:
input[type='text'] { border: 0; background: #ebebeb; background-image: url('../img/search.png'); background-position: 9px 20px; background-repeat: no-repeat; text-align: center; padding: 14px; }напомним,
border,paddingиtext-alignсвойства не важны для решения. Я просто реплицировал мой исходный код.
это работает для меня:
input.valid { border-color: #28a745; padding-right: 30px; background-image: url('https://www.stephenwadechryslerdodgejeep.com/wp-content/plugins/pm-motors-plugin/modules/vehicle_save/images/check.png'); background-repeat: no-repeat; background-size: 20px 20px; background-position: right center; }<form> <label for="name">Name</label> <input class="valid" type="text" name="name" /> </form>

Comments