2013-08-20 6 views
6

के साथ स्क्रॉल नहीं करता है नीचे दिए गए पहेली से, मैं 'आंतरिक-नेविगेशन' div को पूरी तरह से स्थानांतरित करने की कोशिश कर रहा हूं, इसलिए यह 'तुलना-प्रदर्शन' बॉक्स में तय रहता है। मेरी समस्या यह है कि जब आप स्क्रॉल करते हैं, तो 'आंतरिक-नेविगेशन' div निश्चित नहीं रहता है। मैं इस समस्या का समाधान कैसे कर सकता हूं?पूर्ण div पृष्ठ

http://jsfiddle.net/Cd9eZ/

एचटीएमएल कोड

<div class="compare-display"> 
    <div class="table"> 
     <div class="source-compare col-50"> 
      <div class="page"></div> 
     </div> 
     <div class="navigation-compare"> 
      <div class="inner-navigation"></div> 
     </div> 
     <div class="target-compare col-50"> 
      <div class="page"></div> 
     </div> 
    </div> 
</div> 

सीएसएस कोड

.table { 
    display: table; 
    height: 100%; 
    width: 100%; 
} 
.table > div { 
    display: table-cell; 
    vertical-align: top; 
} 
.table > .col-50 { 
    width: 50%; 
    background: green; 
} 
.compare-display { 
    position: relative; 
    overflow: auto; 
    height: 200px; 
} 
.compare-display .navigation-compare { 
    min-width: 50px; 
    background: blue; 

} 
.compare-display .page { 
    margin: 20px; 
    height: 500px; 
    background: orange; 
} 
.compare-display .inner-navigation { 
    position: absolute; 
    width: 50px; 
    top: 0; 
    bottom: 0; 
    background: red; 
} 

उत्तर

3

'.compare-display' के आस-पास एक निश्चित div लपेटें और '.compare-display' से संबंधित स्थिति को हटा दें।

तो जैसा

:

jsfiddle.net/Cd9eZ/4

.compare-wrapper { 
    position:fixed; 
} 

.compare-display { 
    /*position: relative;*/ 
} 

<div class="compare-wrapper"> 
    <div class="compare-display">...</div> 
</div> 
10

लगता है कि तुम position:fixed बजाय position:absolute हैं:

यहाँ मेरी बेला है।

Fiddle

CSS Position Documentation

+0

मैं इसे '.compare-प्रदर्शन' div के सापेक्ष तय किया करना चाहते हैं। फिक्स्ड इसे div से बाहर धक्का देता है और इसे दस्तावेज़ के सापेक्ष बनाता है। – Vakey

+0

हम्म .. यह एक दिलचस्प विचार है। दुर्भाग्य से मैं आपके विचार को प्रतिबिंबित करने के लिए एक सीएसएस समाधान नहीं है। चूंकि 'आंतरिक-नेविगेशन' div अपने माता-पिता की HTML सामग्री का हिस्सा है, इसलिए आप इसे केवल अपने माता-पिता के अंदर सामग्री के सापेक्ष रख सकते हैं। इस मामले में 'तुलना-प्रदर्शन' वर्ग में अतिप्रवाह है, इसलिए इसकी सभी सापेक्ष सामग्री स्क्रॉल करने योग्य होगी। –

+0

आप इसके साथ एक जावास्क्रिप्ट मार्ग भी नीचे जा सकते हैं। क्या कोई विशेष व्यवहार 'स्थिति: निश्चित' संपत्ति द्वारा लाया गया है जो अवांछित है? –

0

इस तुम क्या इरादा था?

http://jsfiddle.net/Cd9eZ/3/

.compare-display .inner-navigation { 
    **position: fixed;** 
    width: 50px; 
    top: 0; 
    bottom: 0; 
    background: red; 
} 

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

फिक्स्ड तत्व पूरी तरह से पृष्ठ प्रवाह से हटा दिए जाते हैं और खिड़की की जगह पर ही रूट होते हैं।

+0

यह मेरा इरादा नहीं है। मैं चाहता हूं कि यह '.compare-display' div के सापेक्ष बिल्कुल स्थित रहें। हालांकि, मुझे लगता है कि आपने आंशिक रूप से मेरे प्रश्न का उत्तर दिया है। यह है कि स्क्रॉलबार के साथ पूरी तरह से स्थित div स्क्रॉल होना संभव नहीं है। – Vakey

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