2013-06-26 7 views
7

मैं बाएं कॉलम को प्रत्यर्पित करने के लिए ट्विटर बूटस्ट्रैप के प्रत्यय का उपयोग कर रहा हूं जिसमें वर्तमान में नेविगेशन सूची है।बूटस्ट्रैप एफ़िक्स बदलना सूची आइटम चौड़ाई

<div class="row"> 
    <div class="span3"> 
     <ul class="nav nav-list" data-spy="affix" data-offset-top="300"> 
      <li class="nav-header">Navigation</li> 
      <li><a href="#">Link1</a></li> 
      <li><a href="#">Link2</a></li> 
     </ul> 
    </div> 

मेरी समझ से, इसका मतलब यह है कि 300xx तक स्क्रॉल नहीं होने तक प्रत्यय किक नहीं होगा। मेरी समस्या यह है कि एफ़िक्स के बाद मेरी सूची आइटम की चौड़ाई बदल जाती है।

यहां एफ़िक्स में आने से पहले सूची आइटम पर मेरे होवरिंग का एक स्क्रीनशॉट है। आप होवर पृष्ठभूमि पर आधारित हो सकते हैं, चौड़ाई सही है।

Before Affix

यहाँ एक स्क्रीनशॉट के बाद मैं 300px स्क्रॉल और बज उठती चिपका दिया है। आप किसी कारण चौड़ाई कम हो जाती है के लिए देख सकते हैं।

After Affix

मुझे पता है कि यह क्यों हो रहा है, यह कैसे सही करने के लिए चाहते हैं, और अगर मैं सही ढंग से चिपका उपयोग कर रहा हूँ।

+0

ऐसा लगता है कि आप इसे सही तरीके से उपयोग कर रहे हैं। क्या आप अपना अन्य सीएसएस पोस्ट कर सकते हैं? – BjornJohnson

+0

@BjornJohnson, डिफ़ॉल्ट बूटस्ट्रैप (Bootswatch थीम का उपयोग करके) के अलावा कोई अन्य सीएसएस नहीं था। हालांकि, मैंने इसे समझ लिया और अपने स्वयं के प्रश्न का उत्तर दिया। धन्यवाद। –

उत्तर

8

कुछ शोध के बाद, मुझे पता चला कि समस्या क्या है।

  1. पहले प्रत्यय में लात मारता है, चौड़ाई माता-पिता मेरी चिपका एनएवी के साथ 'span3' div से विरासत में मिली है।

  2. प्रत्यय में आने के बाद, उस चिपकने वाली नौसेना को उस माता-पिता से हटा दिया जाता है, यही कारण है कि यह इसकी चौड़ाई खो रहा है। एफ़िक्स प्लगइन मूल रूप से इसे डीओएम से बाहर निकाल देता है और चिपकने वाला तत्व मैन्युअल रूप से शीर्ष पर रखता है।

समाधान मैन्युअल रूप से .affix वर्ग को चौड़ाई देना है। मेरे मामले में, मैंने इसे एक चौड़ाई दी है जो span3 अभिभावक को अनुकरण करती है।

.affix { 
    position: fixed; 
    top: 20px; 
    width: 190px; 
} 

span3 220px चौड़ाई है, जिसमें बाएं और दाएं दोनों पर 15px पैडिंग है। तो मेरे ऊपर उपरोक्त सीएसएस काम किया है।

यदि आपके पास एकाधिक प्रत्यय हैं, तो आपको अलग-अलग चौड़ाई का चयन और लागू करना होगा।

+2

कूल। एफडब्ल्यूआईडब्ल्यू, मैं उस तत्व को एक और कक्षा जोड़ने की अनुशंसा करता हूं जो .affix वर्ग के लिए चौड़ाई घोषणा जोड़ने की बजाय चौड़ाई निर्धारित करता है, जैसे .affix.whatever {width: 190px} (क्या होगा यदि आप कहीं और एफ़िक्स का उपयोग करना चाहते हैं?) लेकिन आप अपनी परियोजना को I – BjornJohnson

+3

से बेहतर तरीके से जान लेंगे .. लेकिन यह उत्तरदायी नहीं है क्योंकि आप पिक्सल सेट कर रहे हैं ... विंडो का आकार बदलने का प्रयास करें – janscas

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