2011-07-27 20 views
19

मैं इसके अंदर पाठ के बाद टेबल सेल में लाइन ब्रेक को मजबूर करने का एक तरीका खोजने का प्रयास कर रहा हूं, अधिकतम स्वीकार्य आकार का 50% कहने से लंबा हो जाएगा।एचटीएमएल टेबल सेल में बल लाइन ब्रेक

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

+0

@ फिल को इसके एक बिग्लोंगलाइनफटेक्स्ट तो यहां दिए गए विचार पर्याप्त होना चाहिए – dantuch

+0

यह काम नहीं करेगा अगर यह केवल एक ही शब्द है (http://jsfiddle.net/NweWX/ देखें) – Fender

+2

@ फ़ेंडर, धन्यवाद ... - यह काम करता है ' ' – dantuch

उत्तर

31

मुझे लगता है कि तुम क्या करने की कोशिश कर रहे हैं रैप loooooooooooooong शब्द या यूआरएल है ताकि वे तालिका का आकार बाहर धक्का नहीं है। (मैं बस वही काम करने की कोशिश कर रहा हूं!)

आप इसे आसानी से डीआईवी के साथ शैली word-wrap: break-word देकर कर सकते हैं (और आपको इसकी चौड़ाई भी सेट करने की आवश्यकता हो सकती है)।

div { 
    word-wrap: break-word;   /* All browsers since IE 5.5+ */ 
    overflow-wrap: break-word;  /* Renamed property in CSS3 draft spec */ 
    width: 100%; 
} 

हालांकि, टेबल के लिए , आप या तो एक DIV में सामग्री (या अन्य ब्लॉक टैग) लपेट या लागू करना चाहिए: table-layout: fixed। इसका मतलब है कि स्तंभ चौड़ाई अब तरल पदार्थ नहीं हैं, लेकिन केवल पहली पंक्ति में कॉलम की चौड़ाई (या निर्दिष्ट चौड़ाई के माध्यम से) के आधार पर परिभाषित की जाती हैं। Read more here

नमूना कोड:

table { 
    table-layout: fixed; 
    width: 100%; 
} 

table td { 
    word-wrap: break-word;   /* All browsers since IE 5.5+ */ 
    overflow-wrap: break-word;  /* Renamed property in CSS3 draft spec */ 
} 

आशा है कि किसी को मदद मिलती है।

+1

मैंने ब्रेक-शब्द के साथ स्टाइल वाले एक div का उपयोग करके एक नेस्टेड टेबल के अंदर एक लंबा शब्द निभाया। इसे टेबल लेआउट की आवश्यकता नहीं थी: निश्चित शैली।आईई, क्रोम और एफएफ में काम करने वाले समाधान के लिए धन्यवाद:) – davidjmcclelland

+0

हाय डेविड - हाँ यदि आपकी सामग्री * एक डीआईवी * (जो एक टेबल के अंदर है) के अंदर है तो पहला स्निपेट पर्याप्त है। –

+0

धन्यवाद, इस 1 को स्वीकार कर लिया गया – dantuch

10

मैं सुझाव है कि आप एक आवरण div या अनुच्छेद का उपयोग करें:

<td><p style="width:50%;">Text only allowed to extend 50% of the cell.</p></td> 

और आप इसे से बाहर एक वर्ग बना सकते हैं: इस यह सोचते हैं कि आप 50 में के रूप में 50% का मतलब सब के सब

<td class="linebreak"><p>Text only allowed to extend 50% of the cell.</p></td> 

td.linebreak p { 
    width: 50%; 
} 

सेल का%। या तो तालिका सेल पर

style="width: 50%;" 

, या तालिका सेल के अंदर एक div जगह है, और उस पर शैली डाल:

+2

आह, देर से अपडेट के लिए खेद है, लेकिन @Fender टिप्पणी के रूप में, अगर मैं सिंगल, tolonglineoftext तोड़ना चाहता हूं, तो यह मदद नहीं करता है। और यह असली मुद्दा है। – dantuch

+0

इस पाठ को कैसे केन्द्रित करें? – zygimantus

1

यह HTML के बिना आप जवाब देना मुश्किल है, लेकिन सामान्य रूप में डाल सकता है।

लेकिन एक समस्या "50% क्या है?" यह मूल तत्व का 50% है जो आप जो चाहते हैं वह नहीं हो सकता है।

अपने एचटीएमएल की एक प्रति पोस्ट करें और शायद आपको एक बेहतर उत्तर मिलेगा।

3

आप पाठ को एक div (या अन्य कंटेनर) में 50% की चौड़ाई के साथ डाल सकते हैं।

http://jsfiddle.net/6gjsd/

-1

मुझे लगता है कि यह post कुछ मदद करेगा। बीआर टैग को जोड़ना आसान है जहां आप टेबल सेल में तोड़ना चाहते हैं।

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