글쎄, 기술적으로는 얻을 수는 없습니다 :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;