सीएसएस विनिर्देश बताता है कि निर्दिष्ट मूल्य को दो से विभाजित करके टेक्स्ट की ऊंचाई को टेक्स्ट पर लागू किया जाना चाहिए और पाठ की रेखा के ऊपर और नीचे परिणाम लागू करना चाहिए।पारंपरिक अग्रणी और सीएसएस लाइन-ऊंचाई
यह अग्रणी की पारंपरिक समझ से काफी भिन्न होता है, जिसका आमतौर पर मतलब है कि अंतर केवल पाठ की रेखा से ऊपर 'जोड़ा' है। (मुझे पता है कि यह 100% सही नहीं है, क्योंकि वास्तव में रेखा-ऊंचाई अंतरिक्ष नहीं जोड़ती है, लेकिन रेखा की ऊंचाई निर्धारित करती है, हालांकि, इस तरह समस्या का वर्णन करना आसान है)।
इस उदाहरण मार्कअप पर विचार करें:
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
p
{
margin:0;
font-size: 13pt;
line-height: 15pt;
}
h1
{
margin:0;
font-size: 21pt;
line-height: 30pt;
}
</style>
</head>
<body>
<h1>Title</h1>
<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>
<p>Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search for 'lorem ipsum' will uncover many web sites still in their infancy. Various versions have evolved over the years, sometimes by accident, sometimes on purpose (injected humour and the like).</p>
<p>It uses a dictionary of over 200 Latin words, combined with a handful of model sentence structures, to generate Lorem Ipsum which looks reasonable. The generated Lorem Ipsum is therefore always free from repetition, injected humour, or non-characteristic words etc.</p>
</body>
</html>
तो line-height अग्रणी है, तो <h1>
और पहली <p>
के बीच की दूरी के पारंपरिक समझ के बराबर था <p>
के बीच की दूरी के बराबर होगा, क्योंकि इस दूरी अग्रणी द्वारा परिभाषित किया गया है। बहरहाल, मामला यह नहीं।
<p>
रों के बीच की दूरी लगातार रहता है (p's line-height - p's font-size = 15 - 13 = 2pt
), दूरी <h1>
और पहली <p>
के बीच अलग है: यह (p's line-height - p's font-size)/2 + (h1's line-height - h1's font-size)/2 = (15 - 13)/2 + (30-21)/2 = 5.5pt
के बराबर है।
यदि ऊपर दिए गए मार्कअप को ब्राउज़र के साथ संसाधित किया जाता है तो इसे आसानी से नग्न आंखों द्वारा देखा जा सकता है।
समस्या यह है कि किसी पृष्ठ पर लंबवत दृश्य ताल को बनाए रखने का पारंपरिक तरीका बेस अग्रणी के गुणकों में तत्वों की अग्रणीता स्थापित करना है। जैसा कि ऊपर दिखाया गया है, यह विधि सीएसएस में लागू नहीं है।
मैं 3 प्रश्न हैं: प्रमुख और अपने मतभेदों को सही
- line-height की मेरी समझ है?
- क्या सीएसएस के साथ लंबवत लय बनाए रखने का कोई तरीका है (सीएसएस के साथ पारंपरिक अग्रणी नकल करके)?
- (बोनस प्रश्न) लाइन-ऊंचाई को अग्रणी से अलग करने के पीछे क्या तर्क था?
अद्यतन: आपके इनपुट के लिए बहुत बहुत धन्यवाद! कृपया ध्यान दें कि मैं अपने खुद के समाधान का सुझाव दिया और मैं इस पर कोई टिप्पणी के लिए बहुत आभारी होगा: https://stackoverflow.com/a/8335230/710356
धन्यवाद! हालांकि, ऐसा लगता है कि आपके द्वारा लिंक किया गया डेमो एक खाली gif फ़ाइल है। इसके अलावा, मुझे आपके कोड में कोई नकारात्मक मान नहीं दिख रहा है। – sbichenko
क्षमा करें, मैंने लिंक तय किया और याद किया कि मैंने नकारात्मक मानों का उपयोग नहीं किया है। :-) – bookcasey
आपको वास्तव में लंबवत लय बनाए रखने के लिए स्थिति का उपयोग करने की आवश्यकता नहीं है। यह लगातार लाइन-ऊंचाई (फ़ॉन्ट आकार के सापेक्ष) और नीचे मार्जिन सुनिश्चित करके किया जा सकता है। – joshnh