क्या कोई इस व्यवहार को समझा सकता है? मैंने दो क्षैतिज-स्टैक्ड फ्लेक्सबॉक्स बनाए हैं जिन्हें मैं एक पूर्ण-स्क्रीन वेब ऐप के लिए एक सरल रूपरेखा बनाना चाहता हूं। हालांकि, मेरे शीर्ष फ्लेक्सबॉक्स के अंदर सामग्री जोड़ने से यह विस्तार होता है, अंततः स्क्रीन के नीचे एक को दबाकर।अतिप्रवाह के बावजूद मेरा फ्लेक्सबॉक्स क्यों विस्तारित होता है: छुपा/ऑटो?
var buttonEl = document.getElementById('addButton');
buttonEl.addEventListener('click', function() {
var newEl,
ulEl;
// Create a list item element
newEl = document.createElement('li');
newEl.innerHTML = "Test List Item";
// Add the list item element to the list
ulEl = document.getElementById('list');
ulEl.appendChild(newEl);
}, false);
* {
padding: 0px;
margin: 0px;
overflow: hidden;
}
html {
width: 100%;
height: 100%;
}
body {
display: flex;
flex-direction: column;
width: 100%;
height: 100%;
background: lightblue;
}
#top {
flex-grow: 1;
overflow-y: auto;
}
#bottom {
flex-basis: 1em;
}
li {
width: 100%;
height: 2em;
line-height: 2em;
background: white;
}
<div id="top">
<button id="addButton">add list item</button>
<ul id="list">
</ul>
</div>
<div id="bottom">
Bottom
</div>
किस तरह से - लंबवत? यदि आप लंबवत मतलब रखते हैं, तो समस्या सरल है: यदि आप तत्व पर * ऊंचाई * को परिभाषित नहीं करते हैं, तो यह सामग्री को शामिल करने के लिए लंबवत रूप से विस्तृत (विस्तारित) करने जा रहा है, भले ही आप ओवरफ़्लो कैसे सेट करते हैं। –
@cale_b हाहा, ज़ाहिर है कि यह इतना आसान होगा। अब, गतिशील रूप से आकार के लिए कुछ ऐसा करने के लिए उचित ऊंचाई क्या होगी? ओह, सीएसएस ... – BDawg
@cale_b अगर आपके पास उत्तर देने का समय है, तो मुझे इसके लिए अंक देना अच्छा लगेगा। इसके अलावा, यह एक उदारवादी सवाल नहीं था, क्या कोई ऊंचाई उचित है अगर इसे ओवरराइड किया जा रहा है? – BDawg