글꼴이 멋진 입력 유형 '제출'


205

글꼴이 멋진 입력 유형 'submit'에 대한 클래스가없는 것 같습니다. 버튼 입력을 위해 font-awesome의 클래스를 사용할 수 있습니까? 내 응용 프로그램의 모든 버튼 (실제로 twitter-bootstrap의 'btn'클래스와 링크 됨)에 아이콘을 추가했지만 '입력 유형 제출'에 아이콘을 추가 할 수 없습니다.

또는이 코드를 사용하는 방법 :

input#image-button{
    background: #ccc url('icon.png') no-repeat top left;
    padding-left: 16px;
    height: 16px;
}

html :

<input type="submit" id="image-button">Text</input>

( HTML 에서 가져 왔습니다 : 텍스트 + 이미지로 제출 버튼을 만드는 방법은 무엇입니까? )

답변:


345

입력 대신 버튼 type = "submit"사용

<button type="submit" class="btn btn-success">
    <i class="fa fa-arrow-circle-right fa-lg"></i> Next
</button>

Font Awesome 3.2.0 용

<button type="submit" class="btn btn-success">
    <i class="icon-circle-arrow-right icon-large"></i> Next
</button>

대박! 예상대로 작동합니다. 이것을 simple_form에 맞게 조정하거나 도우미를 만들려면 몇 가지 단계가 필요하지만 비교적 쉽습니다.
denis.peplin

19
또한 사이의 차이점을 인식 <button type=submit>하고 <input type=submit>: stackoverflow.com/questions/3543615/...
파블로

@ stanislav-mayorov 작동합니다. 현재 버전 4.7을 사용하는 경우 2012 년부터 3.2.0에서 조정해야합니다. 업데이트 된 답변을 시도하십시오.
Joao Leme

@JoaoLeme은 <button type="submit">어떤 형태로든 작동합니까?
Ryuujo

페이지를 다시로드하지 않으려는 경우 작동하지 않습니다.
Salvioner

87

HTML

<input>element는 value 속성의 값만 표시 하므로 조작해야합니다.

<input type="submit" class="btn fa-input" value="&#xf043; Input">

&#xf043;여기서는 Font Awesome의 'tint'기호 인 U + F043에 해당하는 엔티티를 사용하고 있습니다.

CSS

그런 다음 글꼴을 사용하도록 스타일을 지정해야합니다.

.fa-input {
  font-family: FontAwesome, 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

Font Awesome의 색조 기호와 적절한 글꼴의 다른 텍스트가 표시됩니다.

그러나이 컨트롤은 완벽한 픽셀이 아니므로 직접 조정해야 할 수도 있습니다.


1
답을 주셔서 감사합니다. 작동하지만 글꼴은 전체 값의 텍스트에 영향을 주므로 실제로이 방법을 사용할 수 없습니다. 나는 또한 다른 버튼에 'icon-large'를 사용하고 있습니다 ... 이것을 시도하는 사람들을 위해 글꼴 코드는 여기 있습니다 : github.com/FortAwesome/Font-Awesome/blob/master/sass/…
denis.peplin

우리가 여기서 할 수있는 전부라고 생각합니다. 개인적 <input>으로 아이콘 을 남겨 두는 것이 좋습니다 .
Pavlo

잘 작동했습니다. <input type = "submit">을 사용해야합니다. 하나의 형식으로 두 개의 제출이 있기 때문입니다.
MuniR

"fa"는 요소의 높이를 변경하므로 "fa"를 요소 클래스에 추가하는 것보다 낫습니다.
Siwei Shen 申思维

또한 인라인 스타일 font-family속성을 사용하여 텍스트 내용이있는 HTML 요소에서 사용할 수 있습니다.
SaidbakR

54

당신은 글꼴 멋진 utf 치트 시트를 사용할 수 있습니다

<input type="submit" class="btn btn-success" value="&#xf011; Login"/>

여기는 치트 시트에 대한 링크입니다 http://fortawesome.github.io/Font-Awesome/cheatsheet/


2
이것은 나의 하루를 만들었다! 감사합니다 .. 다른 사용자의 경우이 문장을 참고하십시오. 유니 코드가 아닌 아이콘을 디자인에 직접 복사하여 붙여 넣으십시오 . 실제 아이콘을 복사하면 작동합니다.
PSR

17
<input type="button" class="fa" value="&#xf011; Login"/>부트 스트랩없이 fa 클래스를 사용하여 작동하게하십시오
StackHola

2
이것을 자바 스크립트 또는 jQuery로 설정하려는 경우 유니 코드 변형을 사용하십시오.$("input.search").addClass("fa").val("\uf011 Login");
Jamie Chong

2
부트 스트랩을 사용 하더라도이 작업을 수행하려면 class = "fa"를 추가해야합니다.
denis.peplin

12

글쎄, 기술적으로는 얻을 수는 없습니다 :before:after의사 요소는 작업 input요소

에서 W3C :

12.1 의사 요소 앞과 뒤에 :

작성자는 : before 및 : after 유사 요소로 생성 된 컨텐츠의 스타일과 위치를 지정합니다. 이름에서 알 수 있듯이 : before 및 : after 유사 요소는 요소의 문서 트리 내용 전후에 내용의 위치를 ​​지정합니다. 이러한 의사 요소와 함께 'content'속성은 삽입되는 내용을 지정합니다.


그래서 input태그 형식의 버튼을 제출 한 프로젝트가 있었고 어떤 이유로 다른 개발자 <button>가 일반적인 입력 제출 버튼 대신 태그 사용을 제한 했기 때문에 버튼을 span세트 안에 넣는 다른 솔루션을 생각해 냈습니다. 로 position: relative;하고 절대적으로 사용하여 아이콘을 위치 :after슈도.

참고 : 데모 바이올린은 FontAwesome 3.2.1의 콘텐츠 코드를 사용하므로 content그에 따라 속성 값을 변경해야 할 수도 있습니다 .

HTML

<span><input type="submit" value="Send" class="btn btn-default" /></span>

CSS

input[type="submit"] {
    margin: 10px;
    padding-right: 30px;
}

span {
    position: relative;
}

span:after {
    font-family: FontAwesome;
    content: "\f004"; /* Value may need to be changed in newer version of font awesome*/
    font-size: 13px;
    position: absolute;
    right: 20px;
    top: 1px;
    pointer-events: none;
}

Demo

이제 여기에 하나의 속성에 대한 모든 설명이 필요합니다. 즉 pointer-events: none;, :after의사 생성 콘텐츠 위에 마우스를 올려 놓으면 버튼이 클릭되지 않으므로 값을 사용 none하면 클릭 액션이 해당 콘텐츠를 통과하게됩니다. .

에서 모질라 개발자 네트워크 :

요소가 마우스 이벤트의 대상이 아님을 나타내는 것 외에도 값 none은 마우스 이벤트가 요소를 "통과"하고 해당 요소의 "아래"를 대상으로 지정하도록 지시합니다.

하트 글꼴 / 아이콘 Demo을 가리키고 사용하지 않으면 어떻게되는지 확인pointer-events: none;


1
포인터 이벤트 : 아무도 IE <11 (지원하지하지 않는 아주 멋진 솔루션을하지만 그것은 하나의 큰 단점이있다 caniuse.com/#feat=pointer-events을 ). pointer-events 속성이 SVG 요소 (벡터 그래픽)를 위해 만들어 졌기 때문에 기술적으로 다른 HTML 요소 (아직 wiki.csswg.org/spec/css4-ui#pointer-events ) 에 대한 W3C 사양에는 없습니다 . IE <11을 제외한 모든 최신 브라우저에서 지원합니다.
CaspianRoach 8

9

당신은 버튼 클래스를 사용할 수 btn-linkbtn-xs유형과 submit그것의 아이콘 내부에 작은 눈에 보이지 않는 버튼을 만들 것이다. 예:

<button class="btn btn-link btn-xs" type="submit" name="action" value="delete">
    <i class="fa fa-times text-danger"></i>
</button>

5

이와 같이 가능

<button type="submit" class="icon-search icon-large"></button>

1

제출이 여러 개인 경우 제출 값을 선택해야 할 때 매우 쉽게 수행 할 수 있습니다. 양식에 숨겨진 필드를 만들고 클릭 한 버튼에 따라 값을 변경하십시오. 예를 들어, 양식에 다음이 있다고 가정하십시오.

<input type="hidden" id="Clicked" name="Clicked" value="" />
<button type="submit" class="btn btn-success ClickCheck" id="Create"> <i class="fa fa-file-pdf-o"> Create Bill</i></button>
<button type="submit" class="btn btn-success ClickCheck" id="Reset"> <i class="fa fa-times"> Reset</i></button>
<button type="submit" class="btn btn-success ClickCheck" id="StoreData"> <i class="fa fa-archive"> Save</i></button>

jQuery 사용하기 :

<script type="text/javascript">
    $(document).ready(function()
    {
        $('.ClickCheck').click(function()
        {
            var ButtonID = $(this).attr('id');
            $('#Clicked').val(ButtonID);
        });
    });
</script>

그런 다음 "클릭 한"포스트 변수에서 클릭 한 버튼의 값을 검색 할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.