div

2009-08-14 10 views
9

के बाएं और दाएं आधा भाग के लिए अलग-अलग पृष्ठभूमि-रंग मेरे पास एक केंद्रित div लेआउट है। पृष्ठभूमि में div के बाईं तरफ सफेद होना चाहिए और दाहिने तरफ हरा होना चाहिए। दोनों को अनंत तक बढ़ाया जाना चाहिए।div

मुझे लगता है कि यह काफी सरल होना चाहिए लेकिन मुझे अभी यह नहीं मिला है। कोई आसान समाधान? धन्यवाद!

----------------------------------------------------- 
(div 1)  __________________________ 
      |(div 2)   |   | 
      |    |   | 
      |    |   | 
<- white |  white  | green | green -> 
      |    |   | 
      |    |   | 
      |________________|_________| 

------------------------------------------------------ 
+0

यदि आप doctype.com –

उत्तर

6

बाहरी div करने के लिए दो रंगों के साथ एक पृष्ठभूमि छवि जोड़ें और ब्राउज़र यह पैमाने पर करने के लिए अनुमति देते हैं (था इसे टाइल करने के बजाय)।

प्रत्येक रंग को छवि की चौड़ाई का बिल्कुल 50% भरना चाहिए ताकि यह सुनिश्चित किया जा सके कि रंग कभी भी किसी तरफ रिसाव नहीं होंगे।

शायद आंतरिक div के पीछे पूरी तरह से छवि को भी स्थिति दें।

विचारों छवि को फैलाने के लिए कैसे, इस सवाल देखें: CSS Background Repeat

+0

धन्यवाद, बहुत अच्छा काम करता है! यह भी नहीं पता था कि आप बीजी-छवियों को फैला सकते हैं। – Christoph

0

मुझे लगता है कि div दो अन्य divs के अंदर डाल दिया और उन्हें उचित आकार और backgound रंग दे

+0

पर पूछते हैं तो आपको कुछ और विचार मिल सकते हैं। केंद्रित div2 पहले से ही अन्य div1 के अंदर है। यह मार्जिन का उपयोग कर केंद्रित है: ऑटो। मुझे नहीं लगता कि मैं वहां दो अन्य divs डाल सकता हूँ? – Christoph

+0

सुनिश्चित करें कि आप कर सकते हैं। आपको दो और divs जोड़ने या दोहराने वाली पृष्ठभूमि छवि से निपटने की आवश्यकता होगी जो आपके लिए रंग बदलती है। – YetAnotherDeveloper

1

आप बाहर की दुनिया में दो divs हो सकता था, और फिर प्रत्येक में अपने divs में से एक है। क्रमशः राइट-एलाइन और बाएं-एलाइन। इसलिए जैसा:

----------------------------------------------------- 
(div)      | (div) 
      _________________|_________ 
      |(div)   | (div) | 
      |    |   | 
      |    |   | 
<- white |  white  | green | green -> 
      |    |   | 
      |    |   | 
      |________________|_________| 
          | 
------------------------------------------------------ 
+0

लेकिन यह केवल तभी काम करता है जब दो बाहरी divs के बीच की रेखा स्क्रीन के 50% पर है (जो मेरे लेआउट में नहीं है)? – Christoph

7

::after और ::before छद्म तत्वों का प्रयोग करें। इस तरह आप तीन रंग भी प्राप्त कर सकते हैं और इतालवी ध्वज कर सकते हैं! http://jsfiddle.net/g8p9pn1v/

और उसके परिणामों:

div { 
    height:300px; 
    width:100%; 
    outline:thin solid black; 
    position:relative; 
    background:white; 
} 
div::after, div::before { 
    height:300px; 
    content:' '; 
    position: absolute; 
    top: 0; 
    width: 33%; 
} 
div::after { 
    right: 0; 
    background-color: red; 
} 
div::before { 
    left: 0; 
    background-color: green; 
} 

यहाँ एक बेला है enter image description here

1

के बारे में स्थिति पूरी चौड़ाई कंटेनर के अंदर पूर्ण के साथ दो divs bg-बाएँ और bg-सही बनाने के लिए कैसे,। चूंकि वे पूरी तरह से स्थित हैं, फिर आप उनके ऊपर सामग्री ले सकते हैं। उदाहरण के लिए तो, बूटस्ट्रैप मार्कअप का उपयोग कर:

<div class="fullwidth"> 
    <div class="bg-left"></div> 
    <div class="bg-right"></div>  

    <div class="container"> 
     <div class="row"> 
      <div class="col-xs-6"> 
       Insert left side content here... 
      </div> 
      <div class="col-xs-6"> 
       Insert right side content here... 
      </div> 
     </div> 
    </div> 
</div> 

फिर अपने सीएसएस:

.fullwidth { 
    position: relative; 
    width: 100%; 
} 
.bg-left { 
    background: #000; 
    left: 0; 
    top: 0; 
    bottom: 0; 
    position: absolute; 
    width: 50%; 
} 
.bg-right { 
    right: 0; 
    top: 0; 
    bottom: 0; 
    background: #ddd; 
    position: absolute; 
    width: 50%; 
} 
0

आप ढाल उपयोग कर सकते हैं। यह एक ऐसी वेबसाइट है जहां आपको अपनी आवश्यकता के क्रॉस-ब्राउज़र कोड मिल सकते हैं।

http://colorzilla.com/gradient-editor/

यह थोड़ा शुरुआत में उपयोग करने के लिए भ्रमित हो सकता है, लेकिन मैं यह एक बहुत शक्तिशाली उपकरण हैं।

सम्मान!