2011-04-11 28 views
7

में राज्य लाठी मंडराना मैं एक इनपुट प्रकार है = एक पृष्ठभूमि रंग सेट और पर एक अलग से एक के साथ बटन: मंडराना - http://jsfiddle.net/hc2Eu/3/पृष्ठभूमि रंग = बटन: IE

IE में (सभी संस्करणों) देखते हैं - जब मैं बटन पर माउस नीचे चला गया, बटन बंद कर दिया, फिर माउसअप - पृष्ठभूमि रंग में रहता है: होवर सेटिंग जब तक आप इसे फिर से माउस नहीं करते।

क्या इसके लिए कुछ कामकाज है? पसंदीदा रूप से जेएस के साथ नहीं? (IE6 आवश्यक नहीं)

उत्तर

13

<input type="button"> करने के लिए एक ठीक हो सकती है - लेकिन वहाँ है अगर, मैं डॉन यह नहीं पता।

अन्यथा, एक अच्छा विकल्प सावधानीपूर्वक स्टाइल a तत्व के साथ इसे बदलने के लिए प्रतीत होता है।

उदाहरण: http://jsfiddle.net/Uka5v/

.button { 
    background-color: #E3E1B8; 
    padding: 2px 4px; 
    font: 13px sans-serif; 
    text-decoration: none; 
    border: 1px solid #000; 
    border-color: #aaa #444 #444 #aaa; 
    color: #000 
} 

upsides कि a तत्व किसी भी अतिरिक्त कार्य के बिना इंटरनेट एक्सप्लोरर के विभिन्न (पुराने) संस्करणों के बीच लगातार शैली होगा शामिल हैं, और मैं अपने लिंक है कि बटन से अच्छे लग रहा है लगता है :)

+0

मैंने इसके बारे में सोचा था - लेकिन मैं एक पूर्व-विद्यमान प्रणाली से निपट रहा हूं जिसमें इनपुट तत्वों को आवंटित तर्क था, और सबमिशन फॉर्म, आदि (कृपया विवरण के लिए न पूछें :) केवल एक आईई को ठीक करने के लिए उस कोड को दोबारा प्रतिक्रिया देना गड़बड़ इसके लायक नहीं हो सकता है। – ScottR

+0

आपको स्वीकार्य उत्तर दे रहा है - क्योंकि मुझे नहीं लगता कि मानक बटन तत्वों के साथ यह संभव है। – ScottR

+0

ग्रेडियेंट और संक्रमण एक साथ काम नहीं करते हैं, यह एकमात्र उत्तर है: http://stackoverflow.com/questions/3790273/webkit-support-for-gradient-transitions –

7

type विशेषता चयनकर्ता का उपयोग करके बटन खोजने की कोशिश करें (शायद यह है कि यह बहुत ठीक कर देंगे):

input[type=button] 
{ 
    background-color: #E3E1B8; 
} 

input[type=button]:hover 
{ 
    background-color: #46000D 
} 
+1

यह एक सीएसएस चयन समस्या नहीं है - रंग सही ढंग से लागू होते हैं। जब माउस सक्रिय स्थिति में होता है तो माउस को बटन से बाहर ले जाने के साथ कुछ समस्या होती है -

+1

हम्म। मुझे लगता है कि यह कंप्यूटर को हरा करने और अस्पष्टता चिल्लाने का समय है, क्योंकि मुझे यकीन नहीं है कि ऐसा करने के लिए आईई को कैसे चालित किया जाए। – Blender

1

आपको यह सुनिश्चित करने की ज़रूरत है कि छवियां पहले आती हैं और पृष्ठभूमि छवि कॉल के बाद अल्पविराम में डाल दी जाती हैं। तो यह वास्तव में काम करता है:

background:url(egg.png) no-repeat 70px 2px #82d4fe; /* Old browsers */ 
background:url(egg.png) no-repeat 70px 2px, -moz-linear-gradient(top, #82d4fe 0%, #1db2ff 78%) ; /* FF3.6+ */ 
background:url(egg.png) no-repeat 70px 2px, -webkit-gradient(linear, left top, left bottom, color-stop(0%,#82d4fe), color-stop(78%,#1db2ff)); /* Chrome,Safari4+ */ 
background:url(egg.png) no-repeat 70px 2px, -webkit-linear-gradient(top, #82d4fe 0%,#1db2ff 78%); /* Chrome10+,Safari5.1+ */ 
background:url(egg.png) no-repeat 70px 2px, -o-linear-gradient(top, #82d4fe 0%,#1db2ff 78%); /* Opera11.10+ */ 
background:url(egg.png) no-repeat 70px 2px, -ms-linear-gradient(top, #82d4fe 0%,#1db2ff 78%); /* IE10+ */ 
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#82d4fe', endColorstr='#1db2ff',GradientType=0); /* IE6-9 */ 
background:url(egg.png) no-repeat 70px 2px, linear-gradient(top, #82d4fe 0%,#1db2ff 78%); /* W3C */ 
संबंधित मुद्दे