क्या flexboxes घोंसला हो सकता है? मैंने क्षैतिज फ्लेक्सबॉक्स में एक क्षैतिज फ्लेक्सबॉक्स निहित किया है, और लंबवत फ्लेक्सबॉक्स में एक लंबवत फ्लेक्सबॉक्स है। क्रोम में क्षैतिज कार्यों में केवल क्षैतिज और न ही फ़ायरफ़ॉक्स में काम!नेस्टेड CSS3 फ्लेक्सबॉक्स काम नहीं कर रहे हैं
मैं एक jsfiddle यहाँ बनाया है: http://jsfiddle.net/NpkTL/1/
लेकिन यहाँ एचटीएमएल है:
<div id="A">
<div id="A1">A1</div>
<div id="A2">
<div id="A2-container">
<div id="A2a">A2a</div>
<div id="A2b">A2b</div>
</div>
</div>
</div>
<div id="B">
<div id="B1">B1</div>
<div id="B2">
<div id="B2-container">
<div id="B2a">B2a</div>
<div id="B2b">B2b</div>
</div>
</div>
</div>
और सीएसएस:
* {
margin: 0;
padding: 0;
font-family: Arial;
}
#A {
position: absolute;
top: 0px;
left: 0px;
background: black;
width: 50%;
height: 100%;
display: -moz-box;
display: -webkit-box;
display: box;
-moz-box-orient: horizontal;
-webkit-box-orient: horizontal;
box-orient: horizontal;
}
#A1 {
background: brown;
width: 100px;
height: 80%;
}
#A2 {
background: orange;
height: 80%;
-moz-box-flex: 1;
-webkit-box-flex: 1;
box-flex: 1;
}
#A2-container {
display: -moz-box;
display: -webkit-box;
display: box;
-moz-box-orient: horizontal;
-webkit-box-orient: horizontal;
box-orient: horizontal;
width: 100%;
height: 100%;
}
#A2a {
background: red;
height: 80%;
-moz-box-flex: 1;
-webkit-box-flex: 1;
box-flex: 1;
}
#A2b {
background: blue;
width: 100px;
height: 80%;
}
#B {
position: absolute;
top: 0px;
right: 0px;
background: gray;
width: 50%;
height: 100%;
display: -moz-box;
display: -webkit-box;
display: box;
-moz-box-orient: vertical;
-webkit-box-orient: vertical;
box-orient: vertical;
}
#B1 {
background: brown;
width: 80%;
height: 100px;
}
#B2 {
background: orange;
width: 80%;
-moz-box-flex: 1;
-webkit-box-flex: 1;
box-flex: 1;
}
#B2-container {
display: -moz-box;
display: -webkit-box;
display: box;
-moz-box-orient: vertical;
-webkit-box-orient: vertical;
box-orient: vertical;
width: 100%;
height: 100%;
}
#B2a {
background: red;
width: 80%;
-moz-box-flex: 1;
-webkit-box-flex: 1;
box-flex: 1;
}
#B2b {
background: blue;
width: 80%;
height: 100px;
}
#A बाईं तरफ है, # बी दाईं ओर है। # ए और # ए 2-कंटेनर लंबवत फ्लेक्सबॉक्स हैं और # बी और # बी 2-कंटेनर क्षैतिज फ्लेक्सबॉक्स हैं। मैंने अलग-अलग divs के लिए रंग सेट किए हैं और यह देखने के लिए कि क्या हो रहा है, यह देखने के लिए प्रत्येक स्तर पर लंबवत और ऊर्ध्वाधर के लिए ऊंचाई)। यह बाईं ओर ठीक है (क्रोम में!), लेकिन दाईं ओर, # बी 2 ए लंबवत रूप से # बी 2 (नारंगी एक) भरना चाहिए।
मुझे लगता है कि इस उदाहरण में यह 3 से/स्तंभ मध्य पंक्ति में फ्लेक्स के साथ एक flexbox उपयोग करने के लिए आसान होगा, लेकिन मैं गतिशील # के बराबर ए 2 है, जो भी एक होने में सामग्री लोड कर रहा हूँ flexbox।
आप [पुराने फ्लेक्सबॉक्स सिंटैक्स] (http://css-tricks.com/old-flexbox-and-new-flexbox/) (200 9 से) का उपयोग करते हैं। 'डिस्प्ले: बॉक्स' कभी समर्थित नहीं होगा। नए वाक्यविन्यास (2012 से) और बिना मध्यवर्ती कंटेनर के साथ यह फ़ायरफ़ॉक्स 22+ में काम करता है और वर्तमान क्रोम में काम करना चाहिए: http://jsfiddle.net/NpkTL/4/ –