2011-06-03 17 views
23

मैं इस पी टैग के भीतर पाठ को औचित्य देने की कोशिश कर रहा हूं ताकि यह पूरी तरह से पी की चौड़ाई को फिट कर सके।टेक्स्ट-एलाइन सही काम नहीं कर रहा

<p align="justify" style="text-align: justify !important; color:#fff; margin:0px; font-weight:bold; width:487px; border:Solid 1px red;">blah blah blah</p> 

लेकिन टेक्स्ट बस उचित नहीं होगा! कोई विचार क्यों?

किसी भी मदद के लिए धन्यवाद।

उत्तर

27

यदि आपका टेक्स्ट एक से अधिक पंक्तियों तक फैला नहीं है, तो उचित कुछ भी नहीं करता है। आपके पाठ को अगली पंक्ति में लपेटना है, और फिर पहली पंक्ति उचित होगी, लेकिन दूसरी नहीं।

+1

डर्न में लपेटेंगे। तो 487 चौड़ाई पी में 4 शब्दों को औचित्य देने के लिए कोई सीएसएस तरीका नहीं है? – phil

+0

@phil - मुझे नहीं पता कि ... – Brett

+0

सही है। इसे देखने के लिए आपको सफेद रंग पर 'रंग' को सफेद से बदलने की भी आवश्यकता है। http://jsfiddle.net/5RpQr/ –

5

यदि आप 487px में चार शब्दों को औचित्य देना चाहते हैं तो आप अपने css में word-spacing का उपयोग करने का प्रयास कर सकते हैं।

मैंने word-spacing:8em;bla bla bla bla के लिए उपयोग किया लेकिन आप आवश्यकतानुसार समायोजित कर सकते हैं।

http://jsfiddle.net/5RpQr/1/

+0

@phil - बस याद रखें कि यदि आप अपने शब्दों को बदलते हैं, तो शब्द अंतर को भी – Brett

+0

@ ब्रेट को बदलना चाहिए। –

30

आप समाधान यहाँ वर्णित का उपयोग कर सकते हैं: http://blog.vjeux.com/2011/css/css-one-line-justify.html

इस एक पंक्ति का औचित्य साबित होगा, लेकिन बाद में एक रिक्ति कहते हैं, इसलिए यदि आप ऊंचाई पता है, तुम यह overflow:hidden साथ छुपाने के लिए निर्दिष्ट कर सकते हैं यह अभी भी औचित्य प्राप्त करता है।

<!-- HTML --> 
<p id="tagline" class="fulljustify">Blah blah blah</p> 

/* CSS */ 
.fulljustify { 
    text-align:justify; 
} 
.fulljustify:after { 
    content: ""; 
    display: inline-block; 
    width: 100%;  
} 
#tagline { 
    height: 80px; 
    overflow: hidden; 
    line-height: 80px; /* vert-center */ 
} 
+0

धन्यवाद मेरे लिए काम किया। :) – Bibhu

+1

एक पंक्ति के लिए, यह –

+0

यह IE8 और FF निचले संस्करणों में काम नहीं करता है। क्या आप छद्म कोड और 'सामग्री' के बाद' लागू किए बिना कार्यान्वित करने का कोई तरीका जानते हैं? धन्यवाद – Miron

0

बस style="text-align:justify" का उपयोग करें।
यह सभी ब्राउज़रों में काम करता है।

+3

किसी प्रकार की स्पष्टीकरण सहायक होगी, है ना? उन्होंने अनजाने में अपनी शैलियों का उपयोग किया ... – Ron

+0

@Ron यदि आप चाल के ऊपर अंतिम पंक्ति उपयोग को छोड़कर पूरे पैराग्राफ को औचित्य देना चाहते हैं, और यदि आप अंतिम पंक्ति को औचित्य देना चाहते हैं तो भी '।औचित्य: {सामग्री: "" के बाद; प्रदर्शन: इनलाइन-ब्लॉक; चौड़ाई: 100%;} 'और ऊंचाई को परिभाषित करने की कोई आवश्यकता नहीं है। –

+0

नहीं, काम नहीं करता है। – Siddharth

4

क्रोम इसका समर्थन नहीं करता है लेकिन फ़ायरफ़ॉक्स और आईई में, आप text-align-last: justify; का उपयोग कर सकते हैं। एक क्रॉस-ब्राउज़र समाधान के लिए हमारा उपयोग करने के लिए क्या @onemanarmy तैनात है;)

+1

दिसंबर 2016 तक, अब यह सभी प्रमुख ब्राउज़रों (65%) में समर्थित है और यह सबसे अच्छा समाधान है। – K48

+0

हां, यह अब सबसे अच्छा (और सबसे सरल) समाधान है। क्रोम में बहुत अच्छा काम करता है। –

+0

सफारी में काम नहीं करता है। यह ओएस एक्स पर डिफ़ॉल्ट ब्राउज़र है, इसलिए मैं इसे एक बड़ा ब्राउज़र मानता हूं। – Gavin

3

इस

div के लिए

कोशिश

div { 
text-align:justify; 
text-justify: inter-word; 
text-align-last:center; 
/* for IE9 */ 
-ms-text-align-last:center; 
} 
+0

धन्यवाद, आपने मेरा बेकन बचाया। मुझे प्यार है कि कैसे इन सीएसएस शैलियों को बिना किसी योजना के बनाया गया था, इसे पेट के साथ आगे बढ़ाकर। – SpaceDog

0

वहाँ भी प्रदर्शन जैसे कुछ इसी तरह, है: फ्लेक्स; औचित्य-सामग्री: अंतरिक्ष-चारों ओर; यदि आप उन ग्रंथों को स्पैन या divs

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