2017-04-30 9 views
15

मैं इसे स्क्रॉल करने के बाद नेविगेशन बार स्टिक को शीर्ष पर बनाना चाहता हूं, लेकिन यह काम नहीं कर रहा है और मुझे कोई संकेत नहीं है।"स्थिति: चिपचिपा;" काम नहीं कर रहे सीएसएस और एचटीएमएल

.nav-selections { 
 
     text-transform: uppercase; 
 
     letter-spacing: 5px; 
 
     font: 18px "lato",sans-serif; 
 
     display: inline-block; 
 
     text-decoration: none; 
 
     color: white; 
 
     padding: 18px; 
 
     float: right; 
 
     margin-left: 50px; 
 
     transition: 1.5s; 
 
    } 
 

 
     .nav-selections:hover{ 
 
      transition: 1.5s; 
 
      color: black; 
 
     } 
 

 
    ul { 
 
     background-color: #B79b58; 
 
     overflow: auto; 
 
    } 
 

 
    li { 
 
     list-style-type: none; 
 
    }
<nav style="position: sticky; position: -webkit-sticky;"> 
 
     <ul align="left"> 
 
      <li><a href="#/contact" class="nav-selections" style="margin-right:35px;">Contact</a></li> 
 
      <li><a href="#/about" class="nav-selections">About</a></li> 
 
      <li><a href="#/products" class="nav-selections">Products</a></li> 
 
      <li><a href="#" class="nav-selections">Home</a></li> 
 
     </ul> 
 
    </nav>

+0

स्थिति: चिपचिपा को –

+1

पर चिपकने के लिए दूरसंचार के लिए एक समन्वयक की आवश्यकता है आपको भी मूल तत्वों से सावधान रहना होगा। ['स्थिति: चिपचिपा 'अगर आप सावधान रहें तो फ्लेक्सबॉक्स के अंदर काम करना बंद कर सकते हैं] (https://stackoverflow.com/questions/44446671/my-position-sticky-element-isnt-sticky-when-using-flexbox) और अगर इसमें 'ओवरफ्लो: छुपा हुआ' या 'ओवरफ़्लो: ऑटो' है और जो कुछ भी स्क्रॉल करता है (बॉडी रूट या ओवरफ्लो के साथ निकटतम पूर्वजों: स्क्रॉल) – user568458

उत्तर

21

स्टिकी स्थिति रिश्तेदार और फिक्स्ड स्थिति के एक संकर है: आप मदद कृपया कर सकते हैं, यहाँ मेरी HTML और सीएसएस कोड है। तत्व को सापेक्ष स्थिति के रूप में माना जाता है जब तक कि यह एक निर्दिष्ट दहलीज को पार न कर लेता है, जिस बिंदु पर इसे निश्चित स्थिति के रूप में माना जाता है।
...
आप चिपचिपा स्थिति अपेक्षा के अनुरूप व्यवहार करने के लिए top कम से कम एक, right, bottom, या left के साथ एक सीमा निर्दिष्ट करना होगा। अन्यथा, यह सापेक्ष स्थिति से अलग नहीं होगा। [source: MDN]

तो अपने उदाहरण में, आप स्थिति जहां यह top संपत्ति का उपयोग करके अंत में रहना चाहिए परिभाषित करने के लिए किया है।

html, body { 
 
    height: 200%; 
 
} 
 

 
nav { 
 
    position: sticky; 
 
    position: -webkit-sticky; 
 
    top: 0; /* required */ 
 
} 
 

 
.nav-selections { 
 
    text-transform: uppercase; 
 
    letter-spacing: 5px; 
 
    font: 18px "lato", sans-serif; 
 
    display: inline-block; 
 
    text-decoration: none; 
 
    color: white; 
 
    padding: 18px; 
 
    float: right; 
 
    margin-left: 50px; 
 
    transition: 1.5s; 
 
} 
 

 
.nav-selections:hover { 
 
    transition: 1.5s; 
 
    color: black; 
 
} 
 

 
ul { 
 
    background-color: #B79b58; 
 
    overflow: auto; 
 
} 
 

 
li { 
 
    list-style-type: none; 
 
}
<nav> 
 
    <ul align="left"> 
 
    <li><a href="#/contact" class="nav-selections" style="margin-right:35px;">Contact</a></li> 
 
    <li><a href="#/about" class="nav-selections">About</a></li> 
 
    <li><a href="#/products" class="nav-selections">Products</a></li> 
 
    <li><a href="#" class="nav-selections">Home</a></li> 
 
    </ul> 
 
</nav>

+0

धन्यवाद यह – Harleyoc1

3

मेरी टिप्पणी से:

nav { 
 
    position: sticky; 
 
    top: 0; 
 
} 
 

 
.nav-selections { 
 
    text-transform: uppercase; 
 
    letter-spacing: 5px; 
 
    font: 18px "lato", sans-serif; 
 
    display: inline-block; 
 
    text-decoration: none; 
 
    color: white; 
 
    padding: 18px; 
 
    float: right; 
 
    margin-left: 50px; 
 
    transition: 1.5s; 
 
} 
 

 
.nav-selections:hover { 
 
    transition: 1.5s; 
 
    color: black; 
 
} 
 

 
ul { 
 
    background-color: #B79b58; 
 
    overflow: auto; 
 
} 
 

 
li { 
 
    list-style-type: none; 
 
} 
 

 
body { 
 
    height: 200vh; 
 
}
<nav> 
 
    <ul align="left"> 
 
    <li><a href="#/contact" class="nav-selections" style="margin-right:35px;">Contact</a></li> 
 
    <li><a href="#/about" class="nav-selections">About</a></li> 
 
    <li><a href="#/products" class="nav-selections">Products</a></li> 
 
    <li><a href="#" class="nav-selections">Home</a></li> 
 
    </ul> 
 
</nav>

एफएफ और क्रोम की तुलना में अन्य ब्राउज़र के लिए उपयोग करने के लिए polyfill नहीं है। यह एक प्रयोगात्मक नियम है जिसे किसी भी समय ब्राउज़र के माध्यम से कार्यान्वित किया जा सकता है या नहीं। क्रोम इसे दो साल पहले जोड़ता है और फिर इसे छोड़ देता है, ऐसा लगता है ... लेकिन कितनी देर तक? रिश्तेदार + coordonates जबकि एक बार स्क्रॉल चिपचिपा बिंदु पर पहुंच गया अद्यतन, आप अगर माता-पिता तत्वों अतिप्रवाह एक जावास्क्रिप्ट स्क्रिप्ट में इस बारी करने के

+0

धन्यवाद, यह बहुत काम करता है! – Harleyoc1

13

चेक चाहते हैं::

निकटतम स्थिति होगा छिपा हुआ; इसे टॉगल करने का प्रयास करें।

यह आपकी स्थिति को प्रभावित कर सकता है: एक बच्चे तत्व पर चिपचिपा।

+2

इच्छा है कि मैं आपको कई बार उखाड़ फेंक सकता हूं! यह मुझे स्वीकार करने की परवाह करने से अधिक बार मुझे काट दिया है। –

0

मुझे एक ही समस्या है, और मुझे जवाब here मिला।

यदि आपका तत्व अपेक्षित रूप से चिपकने वाला नहीं है तो जांच करने वाली पहली चीज़ कंटेनर पर लागू नियम हैं।

विशेष रूप से, माता-पिता पर सेट किए गए किसी भी अतिप्रवाह संपत्ति की तलाश करें। आप तत्व के माता-पिता पर: overflow: hidden, overflow: scroll या overflow: auto का उपयोग नहीं कर सकते।

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