2016-11-04 7 views
0

입력 요소의 배경 이미지로 글꼴 문자 (예 : font-awesome)를 사용하고 싶습니다. 이를 달성하기 위해 내용 적절한 위치로 후 :CSS에서 배경 이미지 사용 글꼴 문자

<style> 
#id { 
    background-image: content('\f2d3'); /* content instead of url() */ 
    background-position: right center; 
} 
</style> 

<input id="test" /> 

내 생각 엔 내가 이미지로 문자를 저장하거나 의사 요소 를 사용하는 것 중 하나이다. 더 나은 솔루션이 있는지 확인하고 싶었습니다. 마찬가지로 SVG에서 캐릭터에 액세스하고 인라인 SVG를 내용으로 사용할 수 있습니까?

업데이트 :

나는 SVG와 부품 솔루션 (https://fiddle.jshell.net/92h52e65/4/ 참조)했다하지만 여전히 올바른 글꼴을 사용하는 문제가있다.

<style> 
#input1 { 
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="30px" height="20px"><text x="5" y="15" font-family="FontAwesome">x&#xf2d3;</text></svg>'); 
    background-position: right center; 
    background-repeat: no-repeat no-repeat; 
} 
</style> 

<input id="input1" placeholder="insert some text here" size="30" required /> 

IE와 FF에서 작동하려면 utf8 대신 base64 인코딩을 사용해야했습니다. 나는 그것을 더 읽기 쉽게하기 위해 여기에 utf8을 남겨 두었습니다.

+0

@Praveen을 : 그 질문의 내용을 달성하기 위해 jQuery를 사용합니다. JavaScript 나 라이브러리를 포함하지 않고 CSS를 사용하여 요청했습니다. – casenonsensitive

+0

Reopened ...':)' –

답변

0

background-image을 사용해야하는 특별한 이유가 있습니까?

하지 않으면, 당신은이 방법을 수행 할 수 있습니다

.input1wrap::after { 
 
    font-family: FontAwesome; 
 
    content: '\f2d3'; 
 
    margin-left: -1.5em; 
 
}
<link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css"> 
 

 
<span class="input1wrap"> 
 
    <input id="input1" placeholder="insert some text here" size="30" required /> 
 
</span>

+0

이것은 효과적이고 훨씬 쉽습니다. 나는 둘 다 가질 수있는 방법이 있는지보기 위해 노력했다. :: after를 사용하여 필드 유형을 표시하고 필드가 올바르게 채워 졌는지 여부를 표시하는 다른 방법을 원했습니다. 그리고 이미 FontAwesome 라이브러리를 사용하면서 문자의 이미지를 만든 다음 다시 옮기는 대신 캐릭터를 재사용 할 생각이었습니다. – casenonsensitive

+0

두 항목이 필요한 경우 물론':: before'와':: after'를 사용할 수 있습니다. –

+0

추가 사용 요소없이 검색 입력의 스타일을 지정하려는 경우가 있습니다. 텍스트 형식의 입력은 before : and : after 요소를 받아들입니다. 예를 들어,이 문자는 다음과 같습니다. ⚲ –