2012-03-12 18 views
17

मेरे पास काफी संकीर्ण बॉक्स से जुड़े लिंक की एक सूची है; लपेटने के लिए कुछ लिंक के लिए पर्याप्त संकीर्ण।सीएसएस शब्द रैप पर लाइन-ऊंचाई ओवरराइड

लाइन-ऊंचाई 30px पर सेट है, जो गैर-लिपटे लिंक के लिए ठीक है; हालांकि, एक लिंक के लिए जिसका टेक्स्ट लाइन रैप को मजबूर करने के लिए काफी लंबा है, वहां 30 पीएक्स लाइन-ऊंचाई भी लागू होती है, इस प्रकार ऐसा लगता है कि 2 लिंक हैं और लिंक टेक्स्ट की निरंतरता नहीं है।

मुझे किसी भी तरह (बिना जेएस या मिडलवेयर एंड कैल्किंग स्ट्रिंग लम्बाई के बिना) लपेटा लिंक टेक्स्ट प्राप्त करने के लिए 10px की लाइन-ऊंचाई प्राप्त करने के लिए या तो निरंतरता के दृश्य प्रभाव को अलग करने के लिए और अलग नहीं होना चाहिए।

उत्तर

34

Line-height की तरह छद्म तत्व स्पेसिंग सेट करने के लिए माना जाता है रेखाओं के बीच (विशेष रूप से, जब वे लपेटें)। li ऑब्जेक्ट पर आप जो खोज रहे हैं वह margin है। यदि आप line-height को छोटे मान पर सेट करते हैं, जब आप लाइनों को लपेटते हैं और margin को आइटम के बीच इच्छित मान पर सेट करते हैं, तो आपको जाना अच्छा होगा।

अगर यह तुम क्या चाहते करता देखें:

li { 
    padding: 10px 0 0 0; 
    margin: 30px 0; 
    line-height: 10px; 
} 
+2

अच्छा, मैं इसे ऊपर उठाऊंगा। – thepriebe

+2

इस तरह के एज केस समाधान के लिए अधिक प्रतिनिधि प्राप्त करना चाहिए, लेकिन केवल इसे 1 एक्स का जवाब दे सकता है। सही होने के लिए कमजोर होना था, लेकिन यह जाने का "रास्ता" तरीका है। यह दिलचस्प है कि मार्जिन अधिक मूल्य होने पर लाइन-ऊंचाई पूरी तरह से अनदेखा प्रतीत होता है। – virtualeyes

+4

स्वीकार करने के लिए धन्यवाद! छोटी 'रेखा-ऊंचाई' को अनदेखा किया जाता है क्योंकि 'मार्जिन' और 'लाइन-ऊंचाई' मान "ध्वस्त" होते हैं। 'रेखा-ऊंचाई' मान अनिवार्य रूप से प्रत्येक पंक्ति पर एक लंबवत मार्जिन डालता है। जब ऊर्ध्वाधर मार्जिन वाले दो ऑब्जेक्ट निकट होते हैं, तो दो मार्जिनों में से छोटा शून्य "ढह गया" शून्य होता है, केवल बड़ा मान छोड़ देता है। क्षमा करें, लेकिन मेरे पास इस के लिए spec का कोई लिंक नहीं है। – TLS

6

मैं क्या करना होगा यह this way

li { 
    list-style-position: inside; 
    margin: 20px; 
} 

ul { 
    width: 200px; 
    border: solid 1px; 
} 

या आप "पहली पंक्ति" सेट कर सकते हैं में this example

li { 
    padding: 10px 0 0 0; 
    margin: 10px; 
    line-height: 30px; 
} 
li:first-line { 
    margin: 10px; 
    line-height: 10px; 
} 
ul { 
    width: 200px; 
} 
+0

शांत है, लेकिन कोई पासा, डिफ़ॉल्ट लिपटे line-height बदला नहीं मिल सकता है। आदर्श रूप से लपेटा हुआ पाठ 5px रिक्ति के ठीक नीचे दिखाई देगा। मैं झुकाव रखूंगा ... – virtualeyes

+0

ज़रूर। अगर आप अपना कोड पोस्ट करना चाहते हैं तो मुझे मदद करने में खुशी होगी। – thepriebe

+0

पहले लाइन विकल्प के लिए +1 किया गया, मेरा सीएसएस फू काफी कमजोर है, इसलिए इस तरह के गले लगने के लिए शांत हैं ;-) – virtualeyes

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