के लिए प्रोग्रामेटिक रूप से फ़ॉन्ट-साइज निर्धारित करें मैं एक पृष्ठ पर आलेख प्रदर्शित कर रहा हूं। लेख शीर्षक कभी-कभी दो पंक्तियों पर फैलता है, और दूसरी पंक्ति पर केवल एक ही शब्द हो सकता है। यह बहुत अवांछनीय है। JQuery/CSS का उपयोग करके, शीर्षक के लिए उन्हें एक पंक्ति पर रखने के लिए प्रोग्रामेटिक रूप से नया फ़ॉन्ट-आकार निर्धारित करने का सबसे अच्छा तरीका क्या होगा?एकल-रेखा प्रदर्शन
उत्तर
एक हैक की तरह लेकिन इस तरह आप मिल जाएगा बंद करे। यह शायद थोड़ा और tweeking की जरूरत है। असल में, यह तत्व क्लोन करता है और क्लोन के पाठ को & nbsp पर सेट करता है, इसलिए यह एक विचार है कि एक पंक्ति की ऊंचाई क्या होगी। फिर यह तत्व के फ़ॉन्ट आकार को तब तक कम करता है जब तक यह लक्ष्य ऊंचाई से छोटा न हो।
ध्यान रखें कि आपको इस फ़ंक्शन को माता-पिता के आकार() में संलग्न करने की भी आवश्यकता होगी।
$(document).ready(function() {
$(".shrink").each(function() {
var targetHeight = $(this).clone().html(" ").insertAfter($(this));
while ($(this).height() > targetHeight.height()) {
$(this).css("font-size", parseInt($(this).css("font-size")) - 1);
}
targetHeight.remove();
});
});
क्या आप सुनिश्चित हैं कि सीएसएस ("फ़ॉन्ट आकार") कुछ भी वापस नहीं जा रहा है अगर यह नहीं हुआ है जावास्क्रिप्ट * के साथ पहले सेट *? –
अच्छा बिंदु - मैंने अभी परीक्षण किया है कि यह ठीक है। मैं आगे भी चला गया और परीक्षण किया कि सीएसएस में सेट नहीं होने पर यह अभी भी एक परिणाम देता है, और यह करता है। –
मैं बस अनुमान लगा रहा हूं - क्या हम पाठ के कंटेनर की ऊंचाई जानने के लिए जेएस का उपयोग कर ऐसा कर सकते हैं और फिर आवश्यक होने पर फ़ॉन्ट आकार कम कर सकते हैं? मुझे लगता है कि यह बदलाव के कारण पेज सामग्री का आकार बदल देगा।
आप बस गिन सकते हैं कि शीर्षक में कितने अक्षर हैं और उस पर आधारित फ़ॉन्ट आकार का काम करें। अधिक अक्षर = छोटे फ़ॉन्ट आकार।
हालांकि मैं मूर्खतापूर्ण परिणामों को रोकने के लिए फ़ॉन्ट आकार को कितना बड़ा और कितना छोटा करने की अनुमति दूंगा, इस पर कैप्स लगाएंगे।
एक साधारण समाधान लाइन के अंत में एक तत्व को सही रखना होगा, और टेक्स्ट ऑफसेट को तब तक कम कर देगा जब तक कि यह ऑफसेट सही न हो। उदाहरण के लिए, में पूर्ण बंद लपेट:
<span id="check">.</span>
अब आप देख सकते हैं, जहां आपके पूर्ण विराम है, और पाठ आकार को कम जब तक यह आप जहां आशा व्यक्त की के नजदीक है। यदि आप इस विशेष वाक्यांश पर रेखा-ऊंचाई को बहुत बड़े होने के लिए सेट करते हैं, तो यह निर्धारित करना आसान बनाता है।
वर्णों की गणना करना एक समाधान है, लेकिन आपको पात्रों की चौड़ाई को ध्यान में रखना होगा। 'डब्ल्यू' 'i' से बड़ा है, जब तक कि आप निश्चित-चौड़ाई वाले फोंट का उपयोग नहीं कर रहे हों।
इसके अलावा, आप गारंटी नहीं दे सकते अपनी पसंद के उस फ़ॉन्ट ग्राहक के ब्राउज़र में उपलब्ध हो जाएगा, कि उसकी font-size सेटिंग्स एक ही ar तुम्हारा हो जाएगा, आदि
हालांकि, आप दो समाधान गठजोड़ कर सकते हैं - पहला, उदाहरण के लिए, कुछ वर्ण-गिनती एल्गोरिदम का उपयोग करके अनुमानित फ़ॉन्ट-आकार - मान लीजिए कि वर्णों ने चौड़ाई तय की है, और उसके बाद क्लाइंट-साइड जेएस के साथ अपनी गणना को सही करें, यदि जेएस निर्धारित करता है कि रेखा को वैसे भी विभाजित किया गया है।
इसे कुछ ट्यूनिंग की आवश्यकता होगी, लेकिन मेरा मानना है कि स्वीकार्य परिणाम प्राप्त किए जा सकते हैं।
मुझे लगता है कि आपके पास एक डिफ़ॉल्ट टेक्स्ट आकार है, इसलिए इसे सेट करें, और ऑफसेट की ऑफसेट की जांच करें। तो यह स्पष्ट रूप से दो पंक्तियों है, फ़ॉन्ट आकार हटना जब तक offsetHeight नाटकीय रूप से लगभग 50%
एक उदाहरण jQuery का उपयोग करके कम कर देता है ...
var defaultSize = 36; // if title is taller than this, it will be shrinked
$(".articleTitle").each(function() {
var h = $(this).height();
var i = defaultSize;
while(h > defaultSize) {
i--;
this.style.fontSize = i + 'px';
h = $(this).height();
}
});
- 1. प्रदर्शन या प्रदर्शन का प्रदर्शन (||) बनाम ऐरे()
- 2. Asp.net एमवीसी 2 प्रदर्शन प्रदर्शन प्रदर्शन समस्या?
- 3. अपाचे वेग प्रदर्शन प्रदर्शन?
- 4. मल्टीकास्ट प्रदर्शन प्रदर्शन
- 5. प्रदर्शन
- 6. प्रदर्शन
- 7. प्रदर्शन
- 8. प्रदर्शन
- 9. प्रदर्शन
- 10. प्रदर्शन
- 11. प्रदर्शन
- 12. प्रदर्शन -
- 13. उच्च-प्रदर्शन रीयलटाइम डेटा प्रदर्शन
- 14. कैलियर प्रदर्शन बनाम UIImageView प्रदर्शन
- 15. फोनगैप ऐप प्रदर्शन बनाम देशी ऐप प्रदर्शन
- 16. प्रदर्शन पर UICollectionView प्रदर्शन समस्याएं बैचअपडेट्स
- 17. एंटिटी फ्रेमवर्क विलय प्रदर्शन खराब प्रदर्शन
- 18. प्रदर्शन युक्तियाँ?
- 19. प्रदर्शन परीक्षण?
- 20. livequery प्रदर्शन
- 21. प्रदर्शन परीक्षण
- 22. gzip - प्रदर्शन
- 23. हाइव प्रदर्शन
- 24. आयरनपीथन प्रदर्शन
- 25. सीवीएस प्रदर्शन
- 26. लुसीन प्रदर्शन
- 27. जीसीसी प्रदर्शन
- 28. django प्रदर्शन?
- 29. प्रदर्शन एकीकृत
- 30. log4j प्रदर्शन
वे कैसे स्टाइल किए जाते हैं? क्या आकार/इकाइयां? –
पिक्सल, अभी। लेकिन अगर विधि इकाइयों की आवश्यकता है, तो मैं स्विच कर सकता हूं। – Sampson
यह किसी अन्य प्रश्न का डुप्लिकेट है: http: // stackoverflow।कॉम/प्रश्न/875183/कैसे-से-माप-वर्ण-इन-जावास्क्रिप्ट-एंड-या-साथ-jquery/875200 # 875200 – Kornel