양식의 입력 요소 안에 아이콘을 어떻게 넣습니까?
Tidal Force 테마의 라이브 버전
양식의 입력 요소 안에 아이콘을 어떻게 넣습니까?
Tidal Force 테마의 라이브 버전
답변:
연결 한 사이트는 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_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>
나는 이것이 가장 깨끗하고 깨끗한 해결책이라고 생각합니다. 요소 에 텍스트 들여 쓰기 사용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" />
입력 안에 아이콘을 배치하는 간단하고 쉬운 방법은 아래 코드와 같이 위치 CSS 속성을 사용하는 것입니다. 참고 : 명확성을 위해 코드를 단순화했습니다.
#input-container {
position: relative;
}
#input-container > img {
position: absolute;
top: 12px;
left: 15px;
}
#input-container > input {
padding-left: 40px;
}
<div id="input-container">
<img/>
<input/>
</div>
input { border: none; }
추가 #input-container { border: 1px solid #000; }
하여 이미지가 실제로 입력의 일부인 것처럼 보이도록해야합니다.
이것은 나를 위해 작동합니다 :
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>
시도해보십시오 : Bootstrap-4 Beta
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>
나는 이런 상황이 있었다. 때문에 작동하지 않았습니다 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
속성은 솔루션을위한 중요하지 않습니다. 방금 원래 코드를 복제했습니다.
background
모든 배경 속성을 한 번에 덮는 데 사용하는 속기 속성 이름입니다 background: [color] [image url] [repeat] [position]
. 또한 장소에 왼쪽에 재산을 이름을 변경 한 수background-color
background
속기 속성 이름입니다. 더 나은 수정 방법은 속기를 사용하지 않고 background-color
색상 속성에 사용 하는 것입니다 (색상과 이미지를 모두 원한다고 가정).
글꼴 아이콘과 함께 사용
<input name="foo" type="text" placeholder="">
또는
<input id="foo" type="text" />
#foo::before
{
font-family: 'FontAwesome';
color:red;
position: relative;
left: -5px;
content: "\f007";
}
시작할 때 입력에이 CSS 클래스를 사용한 다음 적절하게 사용자 정의하십시오.
.inp-icon{
background: url(https://i.imgur.com/kSROoEB.png)no-repeat 100%;
background-size: 16px;
}
<input class="inp-icon" type="text">