2012-11-01 11 views
48

इनपुट फ़ील्ड पर ध्यान केंद्रित करते समय प्लेसहोल्डर का रंग कैसे बदलें? मैं डिफ़ॉल्ट रंग सेट करने के लिए इस सीएसएस का उपयोग करता हूं, लेकिन इसे फ़ोकस पर कैसे बदला जाए?फोकस पर प्लेसहोल्डर रंग कैसे बदलें?

::-webkit-input-placeholder { color: #999; } 

/* Firefox < 19 */ 
:-moz-placeholder { color: #999; } 

/* Firefox > 19 */ 
::-moz-placeholder { color: #999; } 

/* Internet Explorer 10 */ 
:-ms-input-placeholder { color: #999; } 

उत्तर

88

इस प्रयास करें, यह काम करना चाहिए:

input::-webkit-input-placeholder { 
    color: #999; 
} 
input:focus::-webkit-input-placeholder { 
    color: red; 
} 

/* Firefox < 19 */ 
input:-moz-placeholder { 
    color: #999; 
} 
input:focus:-moz-placeholder { 
    color: red; 
} 

/* Firefox > 19 */ 
input::-moz-placeholder { 
    color: #999; 
} 
input:focus::-moz-placeholder { 
    color: red; 
} 

/* Internet Explorer 10 */ 
input:-ms-input-placeholder { 
    color: #999; 
} 
input:focus:-ms-input-placeholder { 
    color: red; 
} 

यहाँ एक उदाहरण है: इस सीएसएस के साथ

$('input[type="text"]').each(function(){ 

    $(this).focus(function(){ 
     $(this).addClass('input-focus'); 
    }); 

    $(this).blur(function(){ 
     $(this).removeClass('input-focus'); 
    }); 

    }); 

: http://jsfiddle.net/XDutj/27/

+0

क्यों नहीं है: -एमएस-इनपुट-प्लेसहोल्डर? –

+1

मेरे पास उपर्युक्त परीक्षण करने के लिए आईई नहीं है, अगर कोई इसका परीक्षण कर सकता है तो यह बहुत अच्छा होगा। AFAIK, IE9 प्लेसहोल्डर समर्थन की कमी है: http://caniuse.com/#search=placeholder –

+0

मेरे लिए एक आकर्षण की तरह काम करता है। हालांकि, आईई में परीक्षण नहीं किया था। – Sethen

1

इस प्रयास करें:

एचटीएमएल

<input type='text' placeholder='Enter text' /> 

सीएसएस

input[placeholder]:focus { color: red; } 
+0

सक्रिय ध्यान केंद्रित नहीं कर रहा है। – BoltClock

+0

हां, धन्यवाद। –

+2

यह आवश्यक नहीं था, लेकिन मुझे संदेह है क्योंकि, आगे निरीक्षण पर, आपका कोड केवल प्लेसहोल्डर टेक्स्ट की बजाय फोकस पर इनपुट के वास्तविक मूल्य को रंग देगा। – BoltClock

1

मैं JQuery के साथ इस समाधान मिल गया है

.input-focus::-webkit-input-placeholder { color: #f00; }  
.input-focus:-moz-placeholder { color: #f00; } 
.input-focus:-ms-input-placeholder { color: #f00; } 
+3

आप इस के लिए jQuery की जरूरत नहीं है अद्यतन ... – BoltClock

+0

JQuery सुंदर है, लेकिन मर जाना चाहिए। सब कुछ एक शुरुआत है, एक अंत है, @DavidePalmieri – Edakos

+0

WTH आप @BoltClock पर हैं। बेशक यह jQuery की जरूरत है ... कुछ भी यह की जरूरत है Moar jQuery! – PeeHaa

3

प्रणव जवाब के अलावा मैं पाठ क्षेत्र संगतता के साथ कोड परिष्कृत :

::-webkit-input-placeholder { color: #999; } 
:-moz-placeholder { color: #999; } 

:focus::-webkit-input-placeholder { color: #ccc; } 
:focus:-moz-placeholder { color: #ccc; }​ 
+0

इस के लिए हर जगह देखा। यह काम करता हैं। धन्यवाद! – Luke

0

फ़ायरफ़ॉक्स से 1 9: : -मोज़-प्लेसहोल्डर छद्म-वर्ग जो प्लेसहोल्डर विशेषता के साथ फ़ॉर्म तत्वों से मेल खाता है, हटा दिया गया है, और :: - moz-placeholder छद्म-तत्व इसके बजाय जोड़ा गया है।

input:focus::-moz-placeholder { color: transparent; } 
1

उपयोग स्टार * सब कुछ

*::-webkit-input-placeholder { color: #999; } 


*:-moz-placeholder { color: #999; } 


*::-moz-placeholder { color: #999; } 


*:-ms-input-placeholder { color: #999; } 
-1

चयन करने के लिए आप एक सामग्री डिजाइन एनिमेटेड प्लेसहोल्डर कि शीर्ष पर सिकुड़ता है जब इनपुट क्षेत्र केंद्रित है बना सकते हैं।

<div class="field"> 
<input type="text" name="user" required><br> 
<label>Enter Username</label> 
</div> 

मूल रूप से लेबल फ़ील्ड प्लेसहोल्डर की तरह कार्य करने जा रहा है। हम केवल सीएसएस का उपयोग कर ऐसा कर सकते हैं। यहाँ http://www.voidtricks.com/create-material-design-animated-placeholder/

1

समझाया निम्नलिखित मेरे लिए काम किया:

input:focus::-webkit-input-placeholder 
{ 
    color: red; 
} 
संबंधित मुद्दे