2012-03-17 12 views
81

के माध्यम से प्रीफॉर्मेटेड टेक्स्ट के रूप में डिस्प्ले तत्व को सीएसएस के माध्यम से pre तत्व के प्रदर्शन का अनुकरण करने का कोई तरीका है?सीएसएस

उदाहरण के लिए, क्या मैं सीएसएस नियम का उपयोग करके इस div में व्हाइटस्पेस बरकरार रख सकता हूं?

<div class="preformatted"> 

    Please procure the following items: 

    - Soup 
    - Jam 
    - Hyphens 
    - Cantaloupe 
</div> 

उत्तर

126

उपयोग white-space: prepre तत्व के रूप में खाली स्थान के preformatting संरक्षित करने के लिए। एक कदम आगे जाने के लिए, font-family: monospace भी जोड़ें, pre तत्व आमतौर पर एक मोनोस्पेस फ़ॉन्ट में डिफ़ॉल्ट रूप से सेट होते हैं (उदा। कोड ब्लॉक के साथ उपयोग के लिए)।

.preformatted { 
 
    font-family: monospace; 
 
    white-space: pre; 
 
}
<div class="preformatted"> 
 

 
    Please procure the following items: 
 

 
    - Soup 
 
    - Jam 
 
    - Hyphens 
 
    - Cantaloupe 
 
</div>

+0

मैंने 'फ़ॉन्ट-फ़ैमिली 'घोषणा शामिल करने के बारे में नहीं सोचा था। +1, पूर्णता के लिए =) –

+4

जबकि मैं इस उत्तर को स्वीकार करने का इंतजार कर रहा हूं, क्या आप 'प्री' और' प्री-रैप 'के बीच के अंतर को समझा सकते हैं? मुझे लगता है कि 'प्री-रैप' ... लपेटें? –

+0

@ जीजीजी: यह सही है। [तुलना] देखें (http://jsfiddle.net/BoltClock/2TA8g/1)। – BoltClock

9

हाँ:

div.preformatted { 
    white-space: pre; 
    } 

संदर्भ:

+2

वर्ग स्क्वायर गोमांस पैटीज़ के लिए +1। –

28
.preformatted { 
    white-space: pre-wrap; 
} 

मुझे लगता है कि "पूर्व रैप" बेहतर है। यह लाइन में लंबी लंबाई के साथ मदद कर सकते हैं।

+0

बहुत बढ़िया! यह आसान नियम है ... – Shadow

+0

यह कमाल है। –

2

<pre> प्राप्त करने के लिए आप उपयोग कर सकते हैं;

div.preformatted{ white-space: pre ; display: block; } 
+0

आपको यूनिकोड-बिडी के साथ गड़बड़ करने की आवश्यकता क्यों होगी? वह थोड़ा आश्चर्यजनक प्रतीत होता है। –

+1

मेरे लिए भी अजीब बिट! यह अब बहुत पुराना है। मैं यह भी याद नहीं कर सकता कि मैंने इसे कहां से संदर्भित किया है। Https://www.w3.org/TR/CSS2/sample.html से हो सकता है। उत्तर अपडेट किया गया क्योंकि हमें इसकी आवश्यकता नहीं है। –