दिलचस्प पोस्ट
X86-64 लिनक्स में अब 32-बिट पूर्ण पते की इजाजत नहीं है? क्यों "दशमलव" एक मान्य विशेषता पैरामीटर प्रकार नहीं है? jQuery दिनांक स्वरूपण AppDelegate, rootViewController और वर्तमान ViewController क्या asp.net MVC में अनुप्रयोग चर है? एंटिटी प्रकार '###' क्वेरी का स्पष्ट निर्माण अनुमति नहीं है एक एसक्यूएल टाइमस्टैम्प कॉलम पर जावा दिनांक लिखने से पहले, जेडीबीसी ने जेवीएम टाइम ज़ोन से डाटाबेस सत्र के समय क्षेत्र में तारीख का अनुवाद किया है? पीएचपी में छवि से सफेद स्थान का फसल करें निष्पादन योग्य में सी # में स्वयं deletable अनुप्रयोग आइसोकेलिस ट्रैपेज़ोइड आकार बनाना मैं अपने क्रोम एक्सटेंशन में स्थानीय रूप से जानकारी कैसे बचा सकता हूं? WPF में एमवीवीएम के साथ कैनवास में एन आयत जोड़ें कैसे msbuild कार्य के लिए एक कार्य propery के रूप में PreProcessor परिभाषाओं को सेट करने के लिए npm स्थापित करने के बाद बैच फ़ाइल में काम नहीं कर रहा है इंट वि कॉस्ट इंट एंड

अतिप्रवाह क्यों होता है: छुपा एक <td> में काम नहीं करता?

मेरे पास एक टेबल सेल है जिसे मैं हमेशा एक विशेष चौड़ाई करना चाहता हूं। हालांकि, यह अनपेक्षित पाठ की बड़ी तारों के साथ काम नहीं करता है यहां एक परीक्षण का मामला है:

बॉक्स का विस्तार होने के बजाय, मैं बॉक्स के किनारे पर काटे जाने वाले टेक्स्ट को कैसे प्राप्त करूं?

Solutions Collecting From Web of "अतिप्रवाह क्यों होता है: छुपा एक <td> में काम नहीं करता?"

यहाँ एक ही समस्या है

आपको table-layout:fixed सेट करने की आवश्यकता है table-layout:fixed और तालिका एलीमेंट पर एक उपयुक्त चौड़ाई, साथ ही साथ overflow:hidden और white-space: nowrap मेज कोशिकाओं पर अब white-space: nowrap करें।


उदाहरण

निश्चित चौड़ाई कॉलम

तालिका की चौड़ाई निश्चित चौड़ाई सेल (ओं) की तुलना में समान (या छोटे) होनी चाहिए

एक निश्चित चौड़ाई कॉलम के साथ:

 * { box-sizing: border-box; } table { table-layout: fixed; border-collapse: collapse; width: 100%; max-width: 100px; } td { background: #F00; padding: 20px; overflow: hidden; white-space: nowrap; width: 100px; border: solid 1px #000; } 
 <table> <tbody> <tr> <td> This_is_a_terrible_example_of_thinking_outside_the_box. </td> </tr> <tr> <td> This_is_a_terrible_example_of_thinking_outside_the_box. </td> </tr> </tbody> </table> 

यह सिर्फ टीडी की तरह ही है। मेरा मानना ​​है कि ऐसा हो सकता है क्योंकि टीडी तत्व का 'प्रदर्शन' संपत्ति स्वाभाविक 'ब्लॉक-सेल' की बजाय 'तालिका-सेल' पर सेट है।

आपके मामले में, वैकल्पिक डीआईवी में टीडी की सामग्री को लपेटने के लिए और डीआईवी में चौड़ाई और अतिप्रवाह लागू हो सकता है।

 <td style="border: solid green 1px; width:200px;"> <div style="width:200px; overflow:hidden;"> This_is_a_terrible_example_of_thinking_outside_the_box. </div> </td> 

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

सीएसएस table-layout:fixed; लागू करें table-layout:fixed; (और कभी-कभी width:<any px or %> ) को टैबिल और white-space: nowrap; overflow: hidden; white-space: nowrap; overflow: hidden; टीडी पर शैली फिर सही सेल या स्तंभ तत्वों पर सीएसएस चौड़ाई सेट करें।

गौरतलब है कि निश्चित-लेआउट तालिका स्तंभ की चौड़ाई तालिका की पहली पंक्ति में सेल की चौड़ाई से निर्धारित होती है। अगर पहले पंक्ति में TH तत्व होते हैं, और चौड़ाई TD (और नहीं TH) पर लागू होती है, तो चौड़ाई केवल टीडी की सामग्री पर लागू होती है (सफेद स्थान और अतिप्रवाह को ध्यान नहीं दिया जा सकता है); टेबल कॉलम सेट टीडी चौड़ाई की परवाह किए बिना समान रूप से वितरित करेंगे (क्योंकि पहली पंक्ति में TH पर निर्दिष्ट कोई चौड़ाई नहीं है) और कॉलम में [चौड़ाई] समान चौड़ाई होगी; तालिका बाद की पंक्तियों में टीडी चौड़ाई के आधार पर स्तंभ चौड़ाई की पुनर्गणना नहीं करेगी। पहले सेल तत्वों की चौड़ाई को सेट करें, जिसमें तालिका का मुकाबला होगा।

वैकल्पिक रूप से, और स्तंभ चौड़ाई निर्धारित करने का सबसे सुरक्षित तरीका तालिका में <COLGROUP> और <COL> टैग का उपयोग करना है, जिसमें प्रत्येक निश्चित चौड़ाई सीएल पर सीएसएस चौड़ाई निर्धारित की जाती है सेल चौड़ाई से संबंधित सीएसएस अच्छे से खेलता है जब तालिका अग्रिम में स्तंभ चौड़ाई को जानता है।

मैं विशिष्ट मुद्दे से परिचित नहीं हूँ, लेकिन आप टीडी के अंदर एक div आदि आदि को छू सकते हैं और उस पर ओवरफ्लो सेट कर सकते हैं।

अच्छी तरह से यहाँ आपके लिए एक समाधान है लेकिन मैं वास्तव में यह क्यों नहीं समझता कि यह काम करता है:

 <html><body> <div style="width: 200px; border: 1px solid red;">Test</div> <div style="width: 200px; border: 1px solid blue; overflow: hidden; height: 1.5em;">My hovercraft is full of eels. These pretzels are making me thirsty.</div> <div style="width: 200px; border: 1px solid yellow; overflow: hidden; height: 1.5em;"> This_is_a_terrible_example_of_thinking_outside_the_box. </div> <table style="border: 2px solid black; border-collapse: collapse; width: 200px;"><tr> <td style="width:200px; border: 1px solid green; overflow: hidden; height: 1.5em;"><div style="width: 200px; border: 1px solid yellow; overflow: hidden;"> This_is_a_terrible_example_of_thinking_outside_the_box. </div></td> </tr></table> </body></html> 

अर्थात्, एक div में सेल की सामग्री को लपेटकर।

आपको तालिका की शैली विशेषताओं को सेट करना होगा: width और table-layout: fixed; 'अतिप्रवाह करने के लिए: छुपा;' काम ठीक से विशेषता

इमो यह बेहतर ढंग से काम करता है तो width शैली विशेषता के साथ divs का प्रयोग करते हैं, खासकर जब इसे गतिशील आकार बदलने की गणना के लिए प्रयोग करते हैं, तो तालिका में एक सरल DOM होगा जो हेरफेर को आसान बनाता है क्योंकि पैडिंग और मार्जिन के सुधार आवश्यक नहीं हैं

एक अतिरिक्त के रूप में, आपको सभी कक्षों की चौड़ाई निर्धारित करने की आवश्यकता नहीं है, लेकिन केवल पहली पंक्ति में कक्षों के लिए

इस कदर:

 <table style="width:0px;table-layout:fixed"> <tr> <td style="width:60px;"> Id </td> <td style="width:100px;"> Name </td> <td style="width:160px;overflow:hidden"> VeryLongTextWhichShouldBeKindOfTruncated </td> </tr> <tr> <td style=""> Id </td> <td style=""> Name </td> <td style="overflow:hidden"> VeryLongTextWhichShouldBeKindOfTruncated </td> </tr> </table> 

सबसे अच्छा समाधान है एक div को तालिका चौड़ाई के साथ तालिका सेल में रखना तालिका तालिका कोशिकाओं की चौड़ाई से उनकी चौड़ाई का पता लगाया जाएगा कि वे परिभाषित हैं। स्थिति: रिश्तेदार और ऋणात्मक मार्जिन को चाल करना चाहिए!

यहां एक स्क्रीनशॉट है: https://flic.kr/p/nvRs4j

 <body> <!-- SOME CSS --> <style> .cropped-table-cells, .cropped-table-cells tr td { margin:0px; padding:0px; border-collapse:collapse; } .cropped-table-cells tr td { border:1px solid lightgray; padding:3px 5px 3px 5px; } .no-overflow { display:inline-block; white-space:nowrap; position:relative; /* must be relative */ width:100%; /* fit to table cell width */ margin-right:-1000px; /* technically this is a less than zero width object */ overflow:hidden; } </style> <!-- CROPPED TABLE BODIES --> <table class="cropped-table-cells"> <thead> <tr> <td style="width:100px;" width="100"><span>ORDER<span></td> <td style="width:100px;" width="100"><span>NAME<span></td> <td style="width:200px;" width="200"><span>EMAIL</span></td> </tr> </thead> <tbody> <tr> <td><span class="no-overflow">123</span></td> <td><span class="no-overflow">Lorem ipsum dolor sit amet, consectetur adipisicing elit</span></td> <td><span class="no-overflow">sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</span></td> </tbody> </table> </body> 

मेरे पास एक ऐसी ही समस्या है, और <div> <td> अंदर पहली बार (जॉन मैक एंडर के समाधान ने मुझे कई कारणों से काम नहीं किया था) का उपयोग करना था।

हालांकि ध्यान दें कि <td><div>...</div></td> एक div के लिए वैध प्लेसमेंट नहीं है इसलिए मैं <span> display:block; साथ उपयोग कर रहा हूं display:block; सेट। यह अभी ठीक पुष्टि करता है और काम करता है

अधिक सरल बनाने के लिए मैं टीडी के अंदर एक टेक्सटेरिया डालने का प्रस्ताव करता हूं जो स्वचालित रूप से ओवरफ्लो प्रबंधन करता है I

<td><textarea autofocus>$post_title</textarea></td>

सुधार करने की आवश्यकता है