div के अंदर फसल पाठ


85
<div style="display:inline-block;width:100px;">

very long text
</div>

पाठ को काटने के लिए शुद्ध सीएसएस का उपयोग करने का कोई भी तरीका जो अगली नई पंक्ति पर दिखाने के बजाय बहुत लंबा है और केवल अधिकतम 100px दिखाता है

जवाबों:


56
<div class="crop">longlong longlong longlong longlong longlong longlong </div>​

यह एक संभव तरीका है जिसके बारे में मैं सोच सकता हूं

.crop {width:100px;overflow:hidden;height:50px;line-height:50px;}​

इस तरह लंबा पाठ अभी भी लिपटेगा, लेकिन overflowसेट के कारण दिखाई नहीं देगा , और line-heightउसी तरह सेट करके heightहम यह सुनिश्चित कर रहे हैं कि केवल एक पंक्ति कभी प्रदर्शित होगी।

यहां डेमो देखें और इंटरैक्टिव उदाहरणों के साथ अच्छा अतिप्रवाह संपत्ति विवरण।


1
मैं रैपिंग को रोकने के लिए "लाइन-ऊंचाई" पर भरोसा नहीं करूंगा क्योंकि यह संभव है कि उपयोगकर्ता ने ब्राउज़र में उसकी फ़ॉन्ट सेटिंग्स (छोटे पाठ के लिए) को बदल दिया है। इसी तरह बड़े फोंट के लिए, अगर आपने डिव की ऊंचाई पिक्सल की संख्या तय कर ली है, तो यह भयानक लग सकता है। विशेष रूप से मोबाइल ब्राउज़र और "रेटिना" स्क्रीन के साथ, मैं डिज़ाइन की लेआउट की अनुमति देने के दौरान div की ऊंचाई को लचीला छोड़ने की कोशिश करूँगा - जो इसे करना चाहिए!
PJ ब्रुनेट

154

आप उपयोग कर सकते हैं:

overflow:hidden;

क्षेत्र के बाहर पाठ को छिपाने के लिए।

ध्यान दें कि यह अंतिम पत्र काट सकता है (इसलिए अंतिम पत्र का एक भाग अभी भी प्रदर्शित किया जाएगा)। एक अच्छा तरीका अंत में एक दीर्घवृत्त प्रदर्शित करना है। आप इसका उपयोग करके कर सकते हैं text-overflow:

overflow: hidden;
white-space: nowrap; /* Don't forget this one */
text-overflow: ellipsis;

व्हाइट-स्पेस: नॉरैप वास्तव में आवश्यक नहीं है क्योंकि मेरे पास एक लंबी फ़ाइल पथ दिखाने वाली कई लाइनें हैं। श्वेत-स्थान के बिना, लंबे अटूट पथ को दीर्घवृत्त मिलेगा, फिर अगली पंक्ति शेष पथ को दिखाएगी। किकर यह है कि मैं पाठ (प्रतिलिपि सहित) की प्रतिलिपि बना सकता हूं, और फिर वह संपूर्ण पथ को पेस्ट कर देगा। अच्छा!
रॉबर्ट कोच

मामले में आप सोच रहे थे (जैसे मैं था) इलिप्सिस फ़ायरफ़ॉक्स के पुराने संस्करणों में काम नहीं करेगा। "चूंकि फ़ायरफ़ॉक्स संस्करण 7 पाठ-अतिप्रवाह: दीर्घवृत्त समर्थित है।" stackoverflow.com/questions/5990414/…
PJ ब्रुनेट

क्या होगा यदि आप पूर्ण पाठ, या कुछ और प्रदर्शित करने के लिए होवर पर टूलटिप रखना चाहते हैं?
पेदोरिजो

2
@ pedrorijo91 आप बस title="full text goes here"html में उपयोग कर सकते हैं ।
जेरी


9

रिश्तेदार इकाइयों का उपयोग क्यों नहीं करते?

.cropText {
    max-width: 20em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

4

नीचे दिया गया कोड आपके पाठ को आपके द्वारा तय की गई चौड़ाई के साथ छिपा देगा। लेकिन उत्तरदायी डिजाइन के लिए बिल्कुल सही नहीं है।

.CropLongTexts {
  width: 170px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

अपडेट करें

मैंने (मोबाइल) डिवाइस पर ध्यान दिया है कि पाठ (मिश्रित) एक दूसरे के साथ (निश्चित चौड़ाई) के कारण है ... इसलिए मैंने ऊपर दिए गए कोड को संपादित किया है ताकि अनुसरण के रूप में जिम्मेदारी से छिपाया जा सके:

.CropLongTexts {
  max-width: 170px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

(अधिकतम-चौड़ाई) सुनिश्चित करें कि पाठ जिम्मेदारी से छिपाया जाएगा जो कुछ भी (स्क्रीन आकार) है और एक दूसरे के साथ मिश्रित नहीं होगा।


3
हालांकि यह कोड प्रश्न का उत्तर दे सकता है, लेकिन यह कोड क्यों और / या इस प्रश्न के उत्तर के बारे में अतिरिक्त संदर्भ प्रदान करता है, इसके दीर्घकालिक मूल्य में सुधार करता है।
डोनाल्ड डक

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.