简体   繁体   English

当父项调整大小时,如何使弹性项填充其父项的空白空间?

[英]How can i make a flex item fill its parents empty space when the parent gets resized?

As seen in this codepen , when the page is loaded, the orange box (area that gets filled with text over time) does not fill enough space to push the pink box (textarea to push text into orange box) to the bottom of the green box (div element to hold textwindow and textarea).本代码笔所示,加载页面时,橙色框(随着时间的推移被文本填充的区域)没有填充足够的空间来将粉红色框(将文本推入橙色框的文本区域)推到绿色的底部框(用于保存文本窗口和文本区域的 div 元素)。 however when i zoom in on the page itself it suddenly does.然而,当我放大页面本身时,它突然出现了。 how do i achieve this behaviour without zooming in?我如何在不放大的情况下实现这种行为?

Im a beginner and i would like to not switch display options to float/block/grid/whatever.我是初学者,我不想将显示选项切换为浮动/块/网格/其他。 Beyond that i dont care how it is achieves (CSS/js).除此之外,我不关心它是如何实现的(CSS/js)。

Some relevant code at a glance:一些相关代码一目了然:

 .Menu{ margin-left: 10%; margin-right: 10%; border: black solid 5px; display: flex; flex-direction: column; min-height: 300px; max-height: 90vh; }.MsgComposer{ border: green solid 5px; display: flex; flex-direction: column; flex-grow: 1; max-height: 90vh; }.MsgWindow{ border: orangered inset 2px; border-radius: 5px; overflow-y: scroll; min-height: 75vh; max-height: 90vh; }.InputField{ border: violet solid 5px; display: inherit; flex-flow: row; flex-wrap:nowrap; width:auto; align-items: flex-end; min-height: 1pt; }
 <div class="Menu"> <div class="MsgAndInput"> <div class="persistentBtn"> <button id="MenuBTN" title="Menu" value="noHide" onclick="toggleVis('persistentBtn')"></button> <button id="showSrv" title="Show/Hide Servers" onclick="toggleVis('serverSelect')"></button> <button id="showUsr" title="Show/Hide Users " onclick="toggleVis('userSelect')"></button> </div> <div class="Select"> <div class="serverSelect" id="ServerList"> <b style="color: white;">Server:</b> <ul id="UserServerSelection"> <li value="Server-1">serverPlaceholder</li> <li value="Server-1">serverPlaceholder</li> <li value="Server-1">serverPlaceholder</li> <li value="Server-1">serverPlaceholder</li> <li value="Server-1">serverPlaceholder</li> <li value="Server-1">serverPlaceholder</li> <li value="Server-1">serverPlaceholder</li> <li value="Server-1">serverPlaceholder</li> <li value="Server-1">serverPlaceholder</li> <li value="Server-1">serverPlaceholder</li> <li value="Server-1">serverPlaceholder</li> <li value="Server-1">serverPlaceholder</li> <li value="Server-1">serverPlaceholder</li> <li value="Server-1">serverPlaceholder</li> <li value="Server-1">serverPlaceholder</li> <li value="Server-1">serverPlaceholder</li> <li value="Server-1">serverPlaceholder</li> <li value="Server-1">serverPlaceholder</li> <li value="Server-1">serverPlaceholder</li> <li value="Server-1">serverPlaceholder</li> <li value="Server-1">serverPlaceholder</li> <li value="Server-1">serverPlaceholder</li> <li value="Server-1">serverPlaceholder</li> <li value="Server-1">serverPlaceholder</li> <li value="Server-1">serverPlaceholder</li> <li value="Server-1">serverPlaceholder</li> <li value="Server-1">serverPlaceholder</li> <li value="Server-1">serverPlaceholder</li> <li value="Server-1">serverPlaceholder</li> <li value="Server-1">serverPlaceholder</li> <li value="Server-1">serverPlaceholder</li> <li value="Server-1">serverPlaceholder</li> <li value="Server-1">serverPlaceholder</li> <li value="Server-1">serverPlaceholder</li> <li value="Server-1">serverPlaceholder</li> <li value="Server-1">serverPlaceholder</li> <li value="Server-1">serverPlaceholder</li> </ul> </div> <div class="userSelect" id="UserList"> <b style="color: white;">Person:</b> <ul name="UserRecipientSelection" id="UserRecipientSelection"> <li value="name">namePlaceholder</li> <li value="name">namePlaceholder</li> <li value="name">namePlaceholder</li> <li value="name">namePlaceholder</li> <li value="name">namePlaceholder</li> <li value="name">namePlaceholder</li> <li value="name">namePlaceholder</li> <li value="name">namePlaceholder</li> <li value="name">namePlaceholder</li> <li value="name">namePlaceholder</li> <li value="name">namePlaceholder</li> <li value="name">namePlaceholder</li> <li value="name">namePlaceholder</li> <li value="name">namePlaceholder</li> <li value="name">namePlaceholder</li> <li value="name">namePlaceholder</li> <li value="name">namePlaceholder</li> <li value="name">namePlaceholder</li> <li value="name">namePlaceholder</li> <li value="name">namePlaceholder</li> <li value="name">namePlaceholder</li> <li value="name">namePlaceholder</li> <li value="name">namePlaceholder</li> <li value="name">namePlaceholder</li> <li value="name">namePlaceholder</li> <li value="name">namePlaceholder</li> <li value="name">namePlaceholder</li> <li value="name">namePlaceholder</li> <li value="name">namePlaceholder</li> <li value="name">namePlaceholder</li> <li value="name">namePlaceholder</li> <li value="name">namePlaceholder</li> <li value="name">namePlaceholder</li> <li value="name">namePlaceholder</li> <li value="name">namePlaceholder</li> </ul> </div> </div> <div class="MsgComposer"> <div class="MsgWindow" id="Messages"> <.--Window with messages received/sent--> </div> <div class="InputField"> <textarea id="UserMessage" placeholder="Enter Text here..."></textarea> <button id="SelectAttachment" title="Attach something..." onclick="uploadFileName()"> <input type="file" name="uploadFile" id="FileUpload"> </button> </div> </div> </div> </div>

Simply put flex-grow: 1;简单地说flex-grow: 1; on .MsgWindow ..MsgWindow上。 This makes it grow vertically (because it's inside a flex-direction: column; element) to take up all remaining space.这使得它垂直增长(因为它在flex-direction: column;元素内)以占用所有剩余空间。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 调整手机大小后,如何使列表项中的锚标记正常运行? - How can I make an anchor tag in a list item function properly when resized for mobile? 我如何确保当我的省略号被添加为lastindexof空间时,它也在添加之前检查其字母,而不是特殊字符 - How can I make sure that when my ellipsis gets added lastindexof space it also checks its alphabet before it gets added and not special chars 如何在弹性项后添加空格? - How to add empty space after flex item? 如何使子div的边距填充父div的空间? - How can I make child divs fill the space of parent div with margins? 调整窗口大小后如何使我的网站停留 - How can I make my website stay when window is resized 如何使文本内容自动填充其父元素的所有空间 - How to make the text content auto fill all the space of its parent element 如何在调整大小时动态地将按钮内的文本居中? - How can I dynamically center the text inside of a button as it gets resized? Items flex item左对齐和右对齐,当浏览器window缩小时如何居中? - Items flex item is left-aligned and right-aligned, how to center it when the browser window is resized down? 如何使表单仅显示在其父表单下? - How can I make a form displayed only under its parent? 我怎样才能使图像不在其父级之外? - How can I make images not size outside of its parent?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM