2011-06-30 20 views
14

मेरे पास हेडर नामक एक div है जो एक निश्चित स्थिति के साथ स्थापित है। समस्या तब होती है जब मैं पृष्ठ को स्क्रॉल करता हूं पृष्ठ की सामग्री शीर्षलेख के पीछे दिखाई देती है (हेडर पारदर्शी है)।पेज स्क्रॉल करते समय पारदर्शी निश्चित स्थिति divs के पीछे स्क्रॉल करने योग्य सामग्री छुपाएं?

मुझे सीएसएस के बारे में बहुत कुछ पता है, लेकिन ऐसा लगता है कि यह एक नहीं है। मैंने छिपे हुए ओवरफ्लो को सेट करने का प्रयास किया है, लेकिन मुझे पता था कि यह काम नहीं करेगा (और ऐसा नहीं हुआ)।

यह समझाना बहुत मुश्किल है, इसलिए मैंने सबसे अच्छा किया।

एचटीएमएल:

<div id="header"> 
    <div id="topmenu">Home | Find Feeds | Subscriptions</div> 
</div> 
<div id="container"> 
    <div id="content"> 
     testing 
    </div> 
</div> 

सीएसएस:

#header { 
    margin:0 auto; 
    position: fixed; 
    width:100%; 
    z-index:1000; 
} 
#topmenu { 
    background-color:#0000FF; 
    height:24px; 
    filter: alpha(opacity=50); 
    opacity: 0.5; 
} 

#leftlinks { 
    padding: 4px; 
    padding-left: 10px; 
    float: left; 
} 

#rightlinks { 
    padding: 4px; 
    padding-right: 10px; 
    float: right; 
} 

#containerfixedtop { 
    width: 100%; 
    height: 20px; 
} 

#contentfixedtop { 
    margin: 0 auto; 
    background-color: #DAA520; 
    width: 960px; 
    height:20px; 
} 

#container { 
    position: relative; 
    top: 68px; 
    width: 100%; 
    height: 2000px; 
    overflow: auto; 
} 

#content { 
    margin: 0 auto; 
    background-color: #DAA520; 
    width: 960px; 
    height: 2000px; 
} 

यहाँ समस्या का स्क्रीनशॉट है:

enter image description here

+1

आप समस्या का स्क्रीनशॉट मिल सकती है -

सीधे शब्दों में वर्ग

यहाँ कोड है हेडर के लिए पृष्ठभूमि जोड़ सकता हूँ? – Nightfirecat

+0

क्या आप सीएसएस और एचटीएमएल जोड़ सकते हैं? – yoel

+0

@ mtlca401: क्या आपको कोई अंतिम समाधान मिला? मेरे पास समान समस्या है –

उत्तर

7

आप शायद z-index के लिए देख रहे हैं। यह आपको पृष्ठ पर तत्वों के लंबवत क्रम को निर्दिष्ट करने की अनुमति देता है, इसलिए z-index: 10 वाला तत्व z-index: 5 के साथ एक तत्व (दृश्यमान) ऊपर तैर रहा है।

सामग्री z-index: 5 दें और देखें कि यह काम करता है या नहीं।

+0

यह केवल तभी सच होगा यदि मैं हेडर div के लिए एक पृष्ठभूमि (चाहे रंग या ठोस छवि) सेट करें। मेरा हेडर div पारदर्शी है। मेरे हेडर div का जेड-इंडेक्स 1000 पर सेट किया गया है। जब मैं पृष्ठ स्क्रॉल करता हूं तो स्क्रोल करने योग्य सामग्री अभी भी शीर्षलेख के पीछे दिखाई देती है। – mtlca401

+0

शीर्षलेख की तुलना में सामग्री की 'z-index' बनाएं। क्या आप अपनी समस्या का एक स्क्रीनशॉट पोस्ट कर सकते हैं? मैं इसे काफी नहीं देख रहा हूँ। – Blender

+0

मैं छवि कैसे अपलोड करूं? मुझे इसके लिए कोई विकल्प नहीं दिख रहा है। – mtlca401

1

#header एक सेट ऊंचाई है?

#header {position: fixed; height: 100px; } 
#container {position: absolute; top: 100px; bottom: 0; overflow: auto; } 

सुंदर यकीन है कि यह आईई हालांकि में काम नहीं होता ...

+0

इसमें एक सेट ऊंचाई नहीं है, लेकिन मैंने एक सेट ऊंचाई की कोशिश की और अभी भी वही बात (शायद आप क्यों नहीं पूछ रहे थे)। आईई मुझे परवाह नहीं है अगर यह काम करता है। मैं इसका समर्थन नहीं कर रहा हूं (शायद आईई 9 और 10)। – mtlca401

+0

http://jsbin.com/omulis - क्या यह प्रभाव आप ढूंढ रहे थे? – asymptote

+0

@ jsbin.com/omulis - जिस प्रभाव को मैं ढूंढ रहा हूं वह यह है कि स्क्रॉल की गई सामग्री शीर्षलेख के पीछे प्रदर्शित नहीं होती है। अभी यह (नारंगी भाग) शीर्षलेख के पीछे दिखाई देता है। छवि का बैंगनी हिस्सा नीले रंग के नारंगी मिश्रण का परिणाम है। हेडर एक पारदर्शी नीला है। नारंगी हिस्सा सामग्री है। – mtlca401

5

मैं एक ऐसी ही समस्या आ रहा था, और मेरे मामले के लिए एक समाधान मिल गया। यह लागू होना चाहिए कि आप एक पूर्ण स्क्रीन पृष्ठभूमि छवि, या एक ठोस रंग (सफेद सहित) का उपयोग कर रहे हैं।

एचटीएमएल

<div id="full-size-background"></div> 
<div id="header"> 
    <p>Some text that should be fixed to the top</p> 
</div> 
<div id="body-text"> 
    <p>Some text that should be scrollable</p> 
</div> 

सीएसएस

#full-size-background { 
z-index:-1; 
background-image:url(image.jpg); 
background-position:fixed; 
position:fixed; 
top:0px; 
left:0px; 
width:100%; 
height:100%; 
} 
#header { 
position:fixed; 
background-image:url(image.jpg); 
height:150px; 
width:100%; 
} 
#body-text { 
margin-top:150px; 
} 

यह मैं एक पारदर्शी तय हैडर और जब शरीर सामग्री स्क्रॉल, यह हैडर के पीछे छुपाता साथ एक पूरा पृष्ठ छवि के प्राप्त होती है। छवियों निर्बाध दिखाई देते हैं।

आप एक ठोस रंग पृष्ठभूमि के साथ एक ही काम कर सकते हैं, हालांकि, तर्कसंगत रूप से, यह आसान होता।

2 नोट्स: हेडर की एक सेट ऊंचाई है, मैंने केवल एफएफ और क्रोम में परीक्षण किया है।

14

बस इस देर से आ रहा है, लेकिन यदि भविष्य में कोई और इस पर चलता है, तो यह आपका फिक्स है।

आपका सीएसएस कोड:

.wrapper { 
    width:100%; 
    position:fixed; 
    z-index:10; 
    background:inherit; 
} 

.bottom-wrapper { 
    width:100%; 
    padding-top:92px; 
    z-index:5; 
    overflow:auto; 
} 

आपका HTML:

<div class="wrapper"> 
    ...your header here... 
</div> 
<div class="bottom-wrapper"> 
    ...your main content here... 
</div> 

यह एक ऐसा हेडर सफाई से अपनी साइट से मेल खाता है, और शीर्ष पर तैरता के साथ प्रदान करेगा। मुख्य सामग्री हेडर से मुक्त हो जाएगी, और जब यह हेडर पास करेगी तो गायब हो जाएगी। आपका .bottom-wrapper पैडिंग-टॉप आपके हेडर रैपर की सामग्री की ऊंचाई होना चाहिए।

चीयर्स!

+1

यह पारदर्शी रैपर/divs, –

+2

के लिए छिपाने के बारे में अपने प्रश्न को संबोधित नहीं करता है। मुझे समान समस्याएं हैं और इसे रखने की कोशिश की गई है, लेकिन मुझे अभी भी एक ही परिणाम मिल रहा है ... शीर्ष अभी भी पारदर्शी है – user2061886

0

शीर्षलेख + ओवरफ्लो-वाई सामग्री div के नीचे सामग्री div की स्थिति को ठीक करें।

0
  1. मैं तय कर दी है पृष्ठभूमि छवि
  2. हैडर पृष्ठभूमि पारदर्शी है
  3. मैं अपने पारदर्शी हैडर ओवरराइड करने के लिए

मैं एक समाधान div स्क्रॉल बजाय के साथ आया था मेरी सामग्री नहीं करना चाहते शरीर:

<div> 
    <div class="header"></div> 
    <div class="content"></div> 
</div> 


.header { position: fixed; ... } 
.content { position: fixed; height: calc(100% - HEADER_HEIGHT); overflow: scroll; } 
0

मुझे लगता है कि यह उत्तर देने में देर हो चुकी है। लेकिन बाद में, किसी को यह देखने में मदद मिलेगी कि यह सहायक होगा। >

#header { 
 
    margin:0 auto; 
 
    position: fixed; 
 
    width:100%; 
 
    z-index:999; 
 
    background-color:#FFFFFF; 
 
} 
 
#topmenu { 
 
    background-color:#0000FF; 
 
    height:24px; 
 
    filter: alpha(opacity=50); 
 
    opacity: 0.5; 
 
    
 
} 
 

 
#container { 
 
    position: relative; 
 
    top: 68px; 
 
    width: 100%; 
 
    height: 2000px; 
 
    overflow: auto; 
 
    z-index:1; 
 
} 
 

 
#content { 
 
    margin: 0 auto; 
 
    background-color: #DAA520; 
 
    width: 960px; 
 
    height: 2000px; 
 
}
<!DOCTYPE html> 
 
<html> 
 

 

 
<body> 
 

 
<div id="header"> 
 
    <div id="topmenu">Home | Find Feeds | Subscriptions</div> 
 
</div> 
 
<div id="container"> 
 
    <div id="content"> 
 
     testing 
 
    </div> 
 
</div> 
 
</body> 
 
</html>

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