2013-04-05 9 views
29

है, मैं एक वैकल्पिक लाइन-ब्रेकिंग वर्ण चाहता हूं जो हमेशा अदृश्य है जो word-wrap: break-word; सीएसएस शैली के साथ काम करता है।वैकल्पिक लाइन-ब्रेकिंग HTML इकाई जो हमेशा अदृश्य

यहां कुछ विशिष्टताएं दी गई हैं। मेरा लक्ष्य उचित स्थानों में लंबे लिंक को तोड़ना है। ये वर्ण शुरू करने के लिए एक अच्छी जगह हैं: -, ., _, /, \। यह एक रेल-विशिष्ट प्रश्न नहीं है, लेकिन मुझे लगता है मैं अब उपयोग कर रहा हूँ कुछ कोड साझा करना चाहते थे:

module ApplicationHelper 
    def with_optional_line_breaks(text) 
    text.gsub(%r{([-._/\\])}, '\1­') 
    end 
end 

यहाँ ऊपर कोड के साथ समस्या यह है: ­ (के साथ एक मेज में: word-wrap: break-word;) प्रभावशील होता है, ­- के रूप में प्रदर्शित हो जाता है। मैं - देखना नहीं चाहता; मैं दिखाए गए किसी भी चरित्र के बिना लाइन ब्रेक चाहता हूं।


+0

क्या इस मामले में सरल
टैग आपके लिए काम नहीं करता है? –

+0

@ क्रिस्टोफर: '
'वैकल्पिक लाइन ब्रेक नहीं है –

+0

यह उत्तर मदद कर सकता है। एक चरित्र नहीं, लेकिन स्पैन का उपयोग करता है। http://stackoverflow.com/questions/5392853/html-css-denoting-a-preferred-place-for-a-line-break – Unrelated

उत्तर

47

​ शून्य-चौड़ाई वाली जगह (ZWSP) नामक यूनिकोड वर्ण के लिए HTML इकाई है। के रूप में उल्लेख किया है, Zero-width space - Wikipedia

<wbr> टैग भी काम करता है -

"HTML पृष्ठों में, इस अंतरिक्ष <wbr> टैग करने के लिए एक विकल्प के रूप में लंबे समय के शब्दों में एक संभावित लाइन ब्रेक के रूप में इस्तेमाल किया जा सकता।" Aaron's answer द्वारा। मुझे लगता है कि मैं इस HTML इकाई को टैग पर पसंद करता हूं क्योंकि इकाई सरल लगती है: यूनिकोड इसे वेब ब्राउज़र नहीं करता है।

+2

यूनिकोड इसे संभालता है, लेकिन वेब ब्राउज़र को यूनिकोड मानक के अनुरूप या इस विशेष चरित्र का समर्थन करने की आवश्यकता नहीं है। यह एक मुश्किल मुद्दा है, लेकिन आम तौर पर, ZWSP केवल पुराने पुराने ब्राउज़र पर विफल रहता है, जबकि ' 'में नए ब्राउज़र में भी विषमताएं हैं; देखें http://www.cs.tut.fi/~jkorpela/html/nobr.html –

+1

@ डेविड, अदृश्य विभाजक के बारे में क्या? Http://www.fileformat.info/info/unicode/char/2063/index देखें।एचटीएम – Pacerier

+0

@Pacerier यह गणितीय व्हाइटस्पेस के लिए प्रतीत होता है, http://unicode.org/cldr/utility/list-unicodeset.jsp?a=[:subhead=Invisible%20operators:] के संदर्भ को देखते हुए। Http://www.fileformat.info/info/unicode/char/2063/index.htm से: "संगतता ऑपरेटर इंगित करता है कि आसन्न गणितीय प्रतीक एक सूची बनाते हैं, उदाहरण के लिए जब एकाधिक सूचकांक के बीच कोई दृश्यमान कॉमा का उपयोग नहीं किया जाता है"। –

4

<wbr> लगता है कि यह उस बात के लिए आप क्या चाहते हैं करता है, लेकिन यह इसके लिए समर्थन की तरह लग रहा है, और &shy;, very inconsistent है। तो दुर्भाग्य से, आप जो चाहते हैं उसे करने का एक विशेष रूप से अच्छा तरीका नहीं हो सकता है।

+2

धन्यवाद। एक नोट: दावा है कि ब्राउजर समर्थन असंगत है 2008 से है। मेरे सिस्टम पर, आधुनिक ब्राउज़र (फ़ायरफ़ॉक्स, सफारी, क्रोम) '' के साथ सही काम करते हैं। मुझे उम्मीद है कि वे अन्य शब्द/रेखा तोड़ने के तरीकों के लिए भी काम करेंगे। एक व्यापक लेखांकन [सॉफ्ट हाइफ़न (SHY) - एक कठिन समस्या पर पाया जा सकता है?] (Http://www.cs.tut.fi/~jkorpela/shy.html) –

+0

यहां एक उत्तर है जो समर्थन का एक अच्छा अवलोकन प्रदान करता है शब्द-हाइफेनेशन/-ब्रेकिंग/-प्लिटिंग तकनीकों का: https://stackoverflow.com/a/28672471/3439786 इसके अलावा एक _caniuse_ पृष्ठ भी है: http://caniuse.com/#feat=wbr-element – Dennis98

+0

एक लाभ शून्य-चौड़ाई वाली जगह पर '' यूनिकोड इकाई यह है कि यदि आप जिस स्ट्रिंग को तोड़ना चाहते हैं वह एक यूआरएल है जिसे ब्राउज़र से कॉपी किया जा सकता है (जैसे किसी वेब पेज पर अकादमिक संदर्भ प्रदान करते समय जो लिंक नहीं है) यूनिकोड इकाई की प्रतिलिपि बनाई जाती है (कम से कम मैकोज़ में) और परिणामी यूआरएल ब्राउज़र में सही दिखता है लेकिन इसे एक्सेस करने का प्रयास करते समय टूट जाता है। ' 'इस समस्या नहीं है। – theJBRU

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