2012-03-19 10 views
29

मेरे वेब पेज इनपुट फ़ील्ड है जो करने के लिए मैं निम्नलिखित सीएसएस आवेदन किया है:एक HTML इनपुट फ़ील्ड में टेक्स्ट-ओवरफ़्लो इलिप्सिस का उपयोग कैसे करें?

.ellip { 
    white-space: nowrap; 
    width: 200px; 
    overflow: hidden; 
    -o-text-overflow: ellipsis; 
    -ms-text-overflow: ellipsis; 
    text-overflow: ellipsis; 
} 

लेकिन यह कोई असर दिखाई नहीं देता। क्या मुझे यहां कुछ स्पष्ट याद आ रहा है या क्या केवल सीएसएस का उपयोग करके इनपुट फ़ील्ड में इलिप्सिस होना संभव नहीं है?

+2

बस की जाँच की और 'पाठ अतिप्रवाह: ellipsis'' input' तत्वों (कम से कम क्रोम में) पर अच्छा काम करता है – talsraviv

+1

स्वीकार किए जाते हैं जवाब वास्तव में इस सवाल का जवाब नहीं लगता है। – jennEDVT

उत्तर

-9

एक फ़ील्ड अपने नियमों के साथ एक तत्व है। इनपुट फ़ील्ड इस तरह कार्यान्वित किया जाता है कि यदि पाठ फ़ील्ड से अधिक लंबा हो जाता है, तो पाठ केवल अदृश्य हो जाता है।

इसका कारण यह है कि यदि आप किसी रूप में फ़ील्ड का उपयोग करते हैं और टेक्स्ट-ओवरफ्लो इलिप्सिस का उपयोग करना संभव होगा, तो यह केवल छिद्रित सामग्री को प्रेषित करेगा, वांछित प्रभाव नहीं है।

+13

** ए) ** फ़ायरफ़ॉक्स 16 एक इलिप्सिस (गलत स्थिति पर) प्रस्तुत करता है, जब इनपुट फ़ील्ड फोकस नहीं करता है ** बी) ** कारण पूरी तरह गलत है, जो प्रदर्शित होता है उसके पास डोम में क्या होता है (और इस प्रकार संचरित) ** सी) ** ध्यान केंद्रित नहीं होने पर एक इलिप्सिस मार्कर होने पर (तर्कसंगत) उपयोगिता पीओवी – bernstein

+0

से सबसे अच्छा है जब टेक्स्टबॉक्स केंद्रित नहीं होता है तो क्रोम इलिप्सिस भी प्रस्तुत करता है। यदि आप अपनी "तथ्यों की कमी" जवाब बदलना चाहते हैं तो मुझे आपके द्वारा दिए गए डाउनवोट को हटाना अच्छा लगेगा! –

4

मेरे परीक्षण से क्रोम, सफारी और फ़ायरफ़ॉक्स अब इसका समर्थन करते हैं।

हालांकि उनके पास थोड़ा अलग प्रभाव पड़ता है।

ब्लर फ़ायरफ़ॉक्स पर ... पाठ के दाईं ओर ... लेकिन टेक्स्ट बॉक्स के दाईं ओर छिपा हुआ कोई पाठ है।

धुंध पर क्रोम टेक्स्ट की शुरुआत में कूदता प्रतीत होता है और अंत में, पाठ के स्क्रॉल स्थिति को छोड़कर, अंत में संलग्न करता है।

+0

फ़ायरफ़ॉक्स दो मानों को परिभाषित करते समय इनपुट फ़ील्ड के दोनों किनारों पर टेक्स्ट-ओवरफ्लो वर्ण प्रस्तुत कर सकता है, जैसे 'टेक्स्ट-ओवरफ़्लो: इलिप्सिस इलिप्सिस;'। ऐसा लगता है कि क्रोम में समस्याएं हैं। – Thasmo

+0

यह तब काम करना बंद कर देता है जब चौड़ाई इनपुट के माता-पिता की चौड़ाई होती है। – trysis

13

मुझे पता है कि यह एक पुराना सवाल है, लेकिन मुझे एक ही समस्या हो रही थी और this blog post from Front End Tricks And Magic पर आया जो मेरे लिए काम करता था, इसलिए मैंने सोचा कि अगर लोग अभी भी उत्सुक हैं तो मैं साझा करूंगा। ब्लॉग का सारांश यह है कि आप IE में इनपुट में एक इलिप्सिस कर सकते हैं, हालांकि केवल तभी इनपुट में एक रीडोनली विशेषता है।

स्पष्ट रूप से कई परिदृश्यों में हम नहीं चाहते हैं कि हमारे इनपुट में एक पाठक विशेषता हो। इस मामले में आप इसे टॉगल करने के लिए जावास्क्रिप्ट का उपयोग कर सकते हैं। यह कोड सीधे ब्लॉग से लिया जाता है, इसलिए यदि आपको यह उत्तर उपयोगी लगता है तो आप ब्लॉग को देखने और लेखक को प्रशंसा की टिप्पणी छोड़ने पर विचार कर सकते हैं।

HTML:

<div class="long-value-input-container"> 
    <input type="text" 
    value="sdghkjsdghhjdfgjhdjghjdfhghjhgkdfgjnfkdgnjkndfgjknk" class="long- 
    value-input" readonly /> 
</div> 

सीएसएस:

.long-value-input { 
    width: 200px; 
    height: 30px; 
    padding: 0 10px; 
    text-overflow: ellipsis; 
    white-space: nowrap; 
    overflow: hidden; 
} 

जावास्क्रिप्ट (jQuery का उपयोग कर)

// making the input editable 
$('.long-value-input').on('click', function() { 
    $(this).prop('readonly', ''); 
    $(this).focus(); 
}) 

// making the input readonly 
$('.long-value-input').on('blur', function() { 
    $(this).prop('readonly', 'readonly'); 
}); 
+0

मेरे दिन को केवल पढ़ने के साथ बचाया! आप को +1 मैं! – Lucas

+0

.click() नियंत्रण के माध्यम से टैबबिंग करते समय काम नहीं करता है, और यदि आप प्रोप हटाने को .focus() पर ले जाते हैं, जो कि इसके स्वयं के मुद्दों के साथ आता है (वास्तव में केवल पढ़ने योग्य संपत्ति को हटा नहीं देता है क्योंकि यह अभी भी है फोकस मिला) –

7

इनपुट ही मेरे लिए चाल किया था पर text-overflow:ellipsis स्थापना। जब इनपुट फोकस से बाहर होता है तो यह इलिप्सिस को छोटा करता है और रखता है।

+0

यह सही जवाब है अच्छी तरह से किया :) – trenthogan

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