खैर, तकनीकी रूप से यह संभव नहीं है :before
और :after
छद्म तत्व तत्वों पर काम करते input
हैं
से W3C :
12.1 छद्म तत्वों के पहले और बाद में
लेखक छद्म तत्वों के बाद: से पहले और के साथ उत्पन्न सामग्री की शैली और स्थान को निर्दिष्ट करते हैं। जैसा कि उनके नाम इंगित करते हैं, छद्म तत्वों के पहले और बाद में: तत्व के दस्तावेज पेड़ की सामग्री से पहले और बाद में सामग्री का स्थान निर्दिष्ट करते हैं। इन छद्म तत्वों के साथ संयोजन में 'सामग्री' संपत्ति निर्दिष्ट करती है कि क्या डाला गया है।
इसलिए मेरे पास एक परियोजना थी जहां मैंने input
टैग के रूप में बटन जमा किए थे और किसी कारण से अन्य डेवलपर्स ने मुझे <button>
सामान्य इनपुट सबमिट बटन के बजाय टैग का उपयोग करने के लिए प्रतिबंधित किया था , इसलिए मैं एक span
सेट के अंदर बटन लपेटने के एक और समाधान के साथ आया था । , position: relative;
और फिर :after
छद्म का उपयोग करके आइकन को बिल्कुल स्थिति में लाना।
नोट: डेमो फिडल FontAwesome 3.2.1 के लिए सामग्री कोड का उपयोग करता है, इसलिए आपको content
तदनुसार संपत्ति के मूल्य को बदलने की आवश्यकता हो सकती है ।
एचटीएमएल
<span><input type="submit" value="Send" class="btn btn-default" /></span>
सीएसएस
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
से उस सामग्री के माध्यम से जाने के लिए क्लिक क्रिया पर बल पड़ेगा ।
से मोज़िला डेवलपर नेटवर्क :
यह इंगित करने के अलावा कि तत्व माउस घटनाओं का लक्ष्य नहीं है, मान कोई भी माउस घटना को "तत्व" के माध्यम से जाने और उस तत्व के बजाय जो कुछ भी "नीचे" है को लक्षित करने का निर्देश देता है।
हार्ट फॉन्ट / आइकन को हॉवर करें Demoऔर देखें कि यदि आप उपयोग नहीं करते हैं तो क्या होगाpointer-events: none;