यहाँ एक और उस पर ले है और आप की जरूरत नहीं है इलिप्सिस के बिना जीना!
<html>
<head>
<style>
div.sidebox {
width: 25%;
}
div.sidebox div.qrytxt {
height: 1em;
line-height: 1em;
overflow: hidden;
}
div.sidebox div.qrytxt span.ellipsis {
float: right;
}
</style>
</head>
<body>
<div class="sidebox">
<div class="qrytxt">
<span class="ellipsis">…</span>
Some long text which will arbitrarily be cut off at whatever word fits best but will have an ellipsis at the end.
</div>
<div class="qrytxt">
<span class="ellipsis">…</span>
Some more long text which will arbitrarily be cut off at whatever word fits best but will have an ellipsis at the end.
</div>
<div class="qrytxt">
<span class="ellipsis">…</span>
Short text. Fail!
</div>
</body>
</html>
वहाँ, इस के साथ एक दोष है अगर टेक्स्ट इतना छोटा हो पूरी तरह से प्रदर्शित किया जा रहा है दीर्घवृत्त अभी भी रूप में अच्छी तरह से प्रदर्शित किया जाएगा।
[संपादित करें: 2009/06/26]
पावर सांकेतिक शब्दों में बदलनेवाला के सुझाव मैं इस एक छोटे से संशोधित किया है पर। वास्तव में केवल दो परिवर्तन हैं, doctype
(नीचे नोट देखें) और DIV पर display: inline-block
विशेषता के अतिरिक्त।
IE 8.0, ओपेरा 9, एफएफ 3 में देखा गया एक doctype
IE के लिए आवश्यक है पाने के लिए: यहाँ क्या यह अब की तरह दिखता है ...
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<style>
div.sidebox
{
width: 25%;
}
div.sidebox div.qrytxt
{
height: 1em;
line-height: 1em;
overflow: hidden;
display: inline-block;
}
div.sidebox div.qrytxt span.ellipsis
{
float: right;
}
</style>
</head>
<body>
<div class="sidebox">
<div class="qrytxt">
<span class="ellipsis">…</span>
Some long text which will arbitrarily be cut off at whatever word fits best but will have an ellipsis at the end.
</div>
<div class="qrytxt">
<span class="ellipsis">…</span>
Some more long text which will arbitrarily be cut off at whatever word fits best but will have an ellipsis at the end.
</div>
<div class="qrytxt">
<span class="ellipsis">…</span>
Short text. FTW
</div>
</div>
</body>
</html>
नोट्स है सही ढंग से काम करने के लिए display: inline-block
।
यदि .qrytxt
डीवी का ओवरफ्लो एक लंबे शब्द पर होता है, तो एलिप्सिस और अंतिम दृश्यमान शब्द के बीच एक व्यापक अंतर होने वाला है। आप उदाहरण को देखकर और छोटी वृद्धि में अपनी ब्राउज़र चौड़ाई का आकार बदलकर इसे देख सकते हैं। तो फिर (यह शायद के रूप में अच्छी मूल उदाहरण में ही अस्तित्व में, मैं सिर्फ यह तो देखा हो सकता है नहीं)
, एक अपूर्ण सीएसएस-एकमात्र समाधान। जावास्क्रिप्ट एकमात्र चीज हो सकती है जो प्रभाव को सही साबित कर सकती है।
[संपादित करें: 2009/06/27]
यहाँ एक और विकल्प है जो ब्राउज़र विशिष्ट एक्सटेंशन का उपयोग करता है।
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<style>
div.sidebox
{
width: 26%;
}
div.sidebox div.qrytxt
{
height: 1em;
line-height: 1em;
overflow: hidden;
text-overflow:ellipsis;
-o-text-overflow:ellipsis;
-ms-text-overflow:ellipsis;
-moz-binding:url(ellipsis-xbl.xml#ellipsis);
white-space:nowrap;
}
</style>
</head>
<body>
<div class="sidebox">
<div class="qrytxt">
Some long text which will arbitrarily be cut off at whatever word fits best but will have an ellipsis at the end.
</div>
<div class="qrytxt">
Some more long text which will arbitrarily be cut off at whatever word fits best but will have an ellipsis at the end.
</div>
<div class="qrytxt">
Short text. FTW
</div>
</div>
</body>
</html>
ध्यान दें कि ऊपर के उदाहरण के लिए काम करने के लिए, आप एक्सएमएल -moz बाध्यकारी नियम, अंडाकार-xbl.xml द्वारा संदर्भित फ़ाइल बनाना होगा। यह निम्न एक्सएमएल शामिल करना चाहिए है:
<?xml version="1.0" encoding="UTF-8"?>
<bindings xmlns="http://www.mozilla.org/xbl" xmlns:xbl="http://www.mozilla.org/xbl" xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<binding id="ellipsis">
<content>
<xul:window>
<xul:description crop="end" xbl:inherits="value=xbl:text"><children/></xul:description>
</xul:window>
</content>
</binding>
</bindings>
स्रोत
2008-08-29 03:43:14
मुझे यह जवाब पसंद है, हमें इसे छोटे टेक्स्ट के मुद्दे के लिए एक समाधान के साथ अद्यतन करने में देखना चाहिए। में देखता हूँ में क्या कर सकता हूँ। –
मैंने एक विकल्प जोड़ा है। अभी भी सही नहीं है :( –
यहां दो अतिरिक्त विचार हैं। सबसे पहले, इलिप्सिस के लिए, & hellip का उपयोग करें, "..." "..." जैसा नहीं है। दूसरा, सभी फ़्लोटिंग स्पैन क्यों शुरू हो सकते हैं? आप इसे दे सकते हैं जब आवश्यक हो तो ब्राउजर पूरी तरह से div में इलिप्सिस जोड़ता है (टेक्स्ट ओवरफ्लो निर्दिष्ट करके: आईई के लिए इलिप्सिस, -ओ-टेक्स्ट-ओवरफ्लो: ओपेरा के लिए इलिप्सिस और एफएफ के लिए -मोज़-बाइंडिंग वर्कअराउंड का उपयोग करके)। –