2011-10-06 20 views
14

क्या सीएसएस के साथ टेक्स्ट इनपुट के मूल्य (डिफ़ॉल्ट पाठ जो प्रदर्शित होता है) को बदलने के लिए वैसे भी है?सीएसएस के साथ एक पाठ इनपुट का मूल्य बदलें?

मैं मोबाइल के लिए साइट का अनुकूलन करता हूं और मैं 'खोज' को टेक्स्ट 'खोज' करने के लिए छोटा करना चाहता हूं। धन्यवाद

+0

आप उन ब्राउज़र का पता लगाने और क्षेत्रों को बदलने के लिए जावास्क्रिप्ट का उपयोग कर विचार किया है? http://www.w3schools.com/js/js_browser.asp – Waltzy

+1

@ वाल्टी - ब्राउज़र को स्वयं नहीं ढूंढें; यह बुरा अभ्यास है। इसके बजाय, Modernizr जैसे टूल का उपयोग करके ब्राउज़र की क्षमताओं का पता लगाएं; यह अधिक विश्वसनीय है और आपको अधिक बढ़िया नियंत्रण देता है। ऐसे बहुत कम मामले हैं जहां ब्राउज़र पहचान आवश्यक है क्योंकि अन्य तकनीकें काम नहीं करती हैं, लेकिन यह उनमें से एक नहीं है। – Spudley

+0

@Spudley चीयर्स सिर के लिए, मैं इसे ध्यान में रखूंगा। – Waltzy

उत्तर

12

वास्तव में यह नहीं है कि सीएसएस क्या है।

सीएसएस आपकी सामग्री को स्टाइल करने के लिए है; एचटीएमएल वास्तविक सामग्री के लिए है।

यदि आपको HTML लोड होने के बाद सामग्री को संशोधित करने की आवश्यकता है, तो यही जावास्क्रिप्ट है।

तो आपके प्रश्न का वास्तविक उत्तर यह है: या तो सीधे HTML को संशोधित करें, या जावास्क्रिप्ट का उपयोग करें।

ऐसे में सामने की या एक तत्व :before और :after छद्म चयनकर्ताओं का उपयोग कर के पीछे अतिरिक्त पाठ जोड़ने के रूप में है कि सामग्री को प्रभावित कुछ बातें, सीएसएस के साथ कर सकते हैं, लेकिन यह है कि आप में मदद नहीं करेगा इस मामले में, और इस तरह के सामग्री परिवर्तन कार्य के लिए उपयोग नहीं किया जाना चाहिए जिसके बारे में आप बात कर रहे हैं।

वैसे, थोड़ा ऑफ-विषय, लेकिन यदि आप एक त्वरित पाठ के रूप में इनपुट फ़ील्ड मान का उपयोग कर रहे हैं, तो आप इसके बजाय HTML5 placeholder विशेषता को देखने पर विचार करना चाहेंगे। यह आपके प्रश्न को भी संबोधित नहीं करता है, लेकिन ऐसा लगता है कि यह ऐसा कुछ हो सकता है जो आपके लिए उपयोगी हो।

+3

ठीक है, अगर आप * पूरी तरह से * सीएसएस 'सामग्री' संपत्ति को अनदेखा करते हैं, तो मुझे लगता है कि यह सच है। –

+3

@RubenMartinezJr .: मैंने 'सामग्री' को अनदेखा नहीं किया; यह केवल 'पहले' जैसे चयनकर्ताओं के लिए लागू होता है और यह उत्तर में है। लेकिन मुद्दा यह है कि भले ही आप इसे कर सकें, आपको यह नहीं करना चाहिए: महत्वपूर्ण सामग्री को सीएसएस में डालना एक बुरा अभ्यास है। यह सीएसएस के लिए डिजाइन की गई शैली और सामग्री के बीच अलगाव को झुकाता है, और इसमें अंतिम उपयोगकर्ताओं के लिए उपयोगिता के मुद्दे हैं (उदाहरण के लिए इसे प्रतिलिपि + चिपकाया नहीं जा सकता है, यह अंधे उपयोगकर्ताओं के लिए स्क्रीन पाठकों द्वारा पढ़ा नहीं जाता है)। निचली पंक्ति यह है कि 'सामग्री' गुण 'पहले' और ': बाद' में केवल स्पॉट इफेक्ट्स के लिए उपयोग किया जाना चाहिए, न कि वास्तविक साइट सामग्री के लिए। – Spudley

5

नहीं, सीएसएस input की विशेषता, या वास्तव में किसी भी तत्व की कोई विशेषता नहीं बदल सकता है।

1

यदि आप मान को बदलना चाहते हैं तो HTML "मान" विशेषता का उपयोग करें;

उदाहरण:

<input type="submit" value="ENVIAR"> 

कि डिफ़ॉल्ट बदल जाएगा element:before भीतर मान "नया संदेश भेजे मेरे"

1

पार्टी के लिए देर हो चुकी है, लेकिन का उपयोग कर "सामग्री" विशेषता, "सबमिट करें" पूरा होगा क्या आप के रूप में देखा की जरूरत है http://www.w3schools.com/cssref/tryit.asp?filename=trycss_content_string

में मैं jQuery toggleClass के माध्यम से एक बटन सामग्री मूल्य में हेरफेर करने में सक्षम था, निम्नलिखित वर्गों के बीच स्विच:

.open_button:before{ 
    content:"open"; 
} 
.close_button:before{ 
    content: "close"; 
} 

मैं योग्यता को समझता हूं, लेकिन मुझे लगता है कि टॉगल क्लास एक लालित्य प्रदान करता है जो सीएसएस चाल को औचित्य देता है। अन्यथा कोई नेस्टेड सीएसएस स्विच फ़ंक्शंस के साथ टॉगल फ़ंक्शन का उपयोग करेगा। मैं व्यक्तिगत रूप से सोचता हूं कि नेस्टेड jQuery कार्यों से परहेज करना बेहतर दिख रहा है।

0

मेरे लिए समाधान

<button type="submit" class="mybutton" name="add"> 
    <span class="add">Add new</span> 
</button> 

था इसलिए सीएसएस होगा:

.mybutton:hover .add:after{content="0"} 
-3

इतना आसान है, बस उदाहरण के लिए में टाइप करें:

button { 
 
color: red; 
 
font-family: sans-serif; 
 
}

वहाँ आप कर रहे हैं, बटन के साथ उदाहरण के लिए प्रस्तुत/रीसेट/आदि मूल्यों के साथ सभी आदानों ले ..

+4

वह रंग और फ़ॉन्ट को बदलना नहीं चाहता है। –

0

यह समाधान थोड़ा मुश्किल है,

लेकिन यह हमेशा मेरे लिए काम कर रहा है।

/*CSS Code*/ 
 

 
@media screen and (max-width: 768px) { 
 
.showondesktop { 
 
display: none !important; } 
 
} 
 

 
#showonmobile { 
 
    display:none; 
 
} 
 
@media screen and (max-width: 767px) { 
 
    #showonmobile { 
 
display:block; } 
 
}
<!--HTML Code-> 
 

 
<div class="showondesktop"> search this site </div> 
 

 
<div id="showonmobile"> search </div>

जब वेबसाइट मोबाइल से दौरा किया यह प्रदर्शित किया जाएगा "खोज", लेकिन जब डेस्कटॉप से ​​दौरा किया यह प्रदर्शित किया जाएगा "इस साइट खोज"।

छवि पूर्वावलोकन:

Output-Desktop-view.jpg

Output-Mobile-view.jpg

संबंधित मुद्दे