2012-10-15 32 views
6

मैं एक लेआउट बनाना चाहता हूं जहां मैं बाईं ओर एक छवि और दाईं ओर सामग्री प्रदर्शित करना चाहता हूं। सामग्री स्क्रॉल होने पर छवि स्थिर रहनी चाहिए।फिक्स्ड div पृष्ठभूमि

सीएसएस मैं उपयोग कर रहा हूँ:

<style type="text/css"> 

     #page-container 
     { 
      margin:auto;    
      width:900px;    
      background-color:Black; 
     } 

     #header 
     { 
      height:150px; 
      width:650px; 
     } 

     #main-image 
     { 
      float:left; 
      width:250px; 
      height:500px; 
      background-image:url('../images/main-image.png'); 
      position:fixed; 
     } 


     #content 
     { 
      margin-left:250px; 
      padding:10px; 
      height:250px; 
      width:630px; 
      background-color:Teal; 

     } 
    </style> 

HTML: इस साइट पर समय की

<div id="page-container"> 
    <div id="header"><img src="someimagelink" alt="" /></div> 
    <div id="main-image"></div> 
    <div id="content"></div>  
</div> 

एक बहुत और मुझे लगता है कि पृष्ठभूमि लगाव को समझ लिया है: निर्धारित पदों संपूर्ण व्यूपोर्ट में छवि और तत्व पर लागू नहीं है।

मेरा सवाल है कि मैं इस तरह के लेआउट बनाने के बारे में कैसे जा सकता हूं?

मैं उस छवि को पृष्ठभूमि छवि के रूप में नहीं देना चाहता, जैसे खिड़की का आकार बदल गया है, यह छिपी हो सकती है। मैं स्क्रॉलबार दिखाना चाहता हूं अगर खिड़की का आकार 900px से कम है (मेरी पृष्ठ चौड़ाई) ताकि छवि हर समय देखी जा सके।

यह कोड के साथ होता है, हालांकि मैं छवि को इसके बजाय अपने तत्व पर शुरू करना चाहता हूं।

मैं यह करने के बारे में कैसे जा सकता हूं ??

अग्रिम धन्यवाद :)

संपादित:

मैं सलाह मान ली और एक स्थिति कहा: # मुख्य छवि के लिए तय की संपत्ति। जैसा ऊपर दिखाया गया है एचटीएमएल और सीएसएस का उपयोग करना। अब, मैं हेडर को भी ठीक करना चाहता हूं ताकि यह हिल न सके। असल में, केवल मेरी सामग्री अनुभाग स्क्रॉल करना चाहिए। हालांकि, अगर मैं कोई स्थिति जोड़ता हूं: हेडर पर तय किया गया है, तो मेरी # मुख्य-छवि और # सामग्री अब मेरे शीर्षलेख के शीर्ष पर बैठती है। यदि मैं मार्जिन-टॉप जोड़ता हूं: 150px (क्योंकि मेरी हेडर ऊंचाई 150px है) # मुख्य-छवि पर, यह ठीक काम करता है और उचित रूप से नीचे चला जाता है। हालांकि यदि मैं मार्जिन-टॉप जोड़ता हूं: 150px #content पर, मेरा हेडर 150px से नीचे चला जाता है और अभी भी मेरे #content के शीर्ष पर बैठता है। क्या कोई यह बता सकता है कि यह क्यों हो रहा है? अग्रिम में धन्यवाद :)

+0

आप एक नया सवाल के रूप में अपने संपादित repost करने के लिए चाहते हो सकता है। –

उत्तर

3

इस लिंक पर एक नज़र डालें:

http://www.barelyfitz.com/screencast/html-training/css/positioning/

आप कैसे डिव की स्थिति के लिए इसके साथ सीख सकते हैं।

यह आपकी समस्या का समाधान होगा: #main-image {position:fixed;}


संपादित करें: मैं क्या आपकी समस्या का कारण के बारे में सुनिश्चित नहीं कर रहा हूँ, लेकिन यहाँ समाधान है: #content{ position:relative; top:150px; }

मेरा अनुमान है: मुझे लगता है कि ऐसा इसलिए हुआ क्योंकि स्थिति का उपयोग करते समय: उन 2 div को ब्राउज़र विंडो के सापेक्ष स्थित किया गया था, जबकि दूसरा दस्तावेज़ के सापेक्ष था।

इस लिंक में आप स्थिति के बारे में अधिक देखेंगे और आप स्थिति संपत्ति से संबंधित इन सुविधाओं में से कुछ का परीक्षण कर सकते हैं:

http://www.w3schools.com/cssref/pr_class_position.asp

तथ्य यह है कि एक div दूसरे पर तैनात किया गया था के बारे में, आप खोज करना चाहिए 'जेड-इंडेक्स' संपत्ति के लिए। इसलिए आप इस अधिक स्पष्ट रूप से देख सकते हैं फ़ायरफ़ॉक्स एक 3 डी मोड है:

http://www.addictivetips.com/internet-tips/browse-internet-in-3d-using-mozilla-firefox-11-tip/

+0

बहुत बहुत धन्यवाद, ठीक वैसे ही काम किया जैसा मैं चाहता था। उपर्युक्त लिंक के माध्यम से भी जाएगा :) – Fahad

+0

नई समस्या, मैं हेडर को भी ठीक करना चाहता हूं। प्रारंभिक प्रश्न संपादित किया। – Fahad

+0

समस्या हल हो गई है? –

0

क्या आपने अपने # पृष्ठ-कंटेनर को रिश्तेदार और अपने # मुख्य-छवि कंटेनर को पूर्ण, नीचे, आदि का उपयोग करके स्थिति को पूर्ण और सेट करने की कोशिश की है। फिर भी आपको अपने # सामग्री कंटेनर को दाईं ओर फ़्लोट करने में सक्षम होना चाहिए ।