简体   繁体   English

如何防止div中的元素溢出?

[英]How to prevent elements inside div from overflowing?

I am trying to make these red squares when they reach the end of div , start new column from above and continue downward and so on .... BUT HERE WHEN THEY REACH THE END OF DIV tHE OVERFLOW I know this sound silly but I am doing iit for a school project and thanks .. 当它们到达div的末端时,我正在尝试制作这些红色方块,从上方开始新的列,然后继续向下等等。...但是当它们到达DIV的末端时,我知道这听起来很傻,但是我为学校项目做iit,谢谢..

 .umbrella { width: 500px; height: 500px; background: grey; } .square { background: red; width: 100px; height: 50px; margin: 5px; } 
 <div class="umbrella"> <div class="square"> Hello1</div> <div class="square"> Hello1</div> <div class="square"> Hello1</div> <div class="square"> Hello1</div> <div class="square"> Hello1</div> <div class="square"> Hello1</div> <div class="square"> Hello1</div> <div class="square"> Hello1</div> <div class="square"> Hello1</div> <div class="square"> Hello1</div> <div class="square"> Hello1</div> <div class="square"> Hello1</div> <div class="square"> Hello1</div> <div class="square"> Hello1</div> <div class="square"> Hello1</div> </div> 

display: flex is your friend, with the settings shown below... display: flex是您的朋友,其设置如下所示...

 .umbrella { width: 500px; height: 500px; background: grey; display: flex; flex-direction: column; flex-wrap: wrap; } .square { background: red; width: 100px; height: 50px; margin: 5px; } .square.x { width: 150px; background: green; } 
 <div class="umbrella"> <div class="square"> Hello1</div> <div class="square"> Hello1</div> <div class="square"> Hello1</div> <div class="square x"> Hello1</div> <div class="square"> Hello1</div> <div class="square"> Hello1</div> <div class="square"> Hello1</div> <div class="square"> Hello1</div> <div class="square"> Hello1</div> <div class="square"> Hello1</div> <div class="square"> Hello1</div> <div class="square"> Hello1</div> <div class="square"> Hello1</div> <div class="square x"> Hello1</div> <div class="square"> Hello1</div> </div> 

Here's another solution using CSS colums. 这是使用CSS列的另一种解决方案。 column-count determines the number of columns, depending on that number they will be equally wide. column-count确定列数,具体取决于列数是否相等。

 .umbrella { width: 500px; height: 500px; background: grey; column-count: 2; } .square { background: red; width: 100px; height: 50px; margin: 5px; } .square.x { width: 150px; background: green; } 
 <div class="umbrella"> <div class="square"> Hello1</div> <div class="square"> Hello1</div> <div class="square"> Hello1</div> <div class="square x"> Hello1</div> <div class="square"> Hello1</div> <div class="square"> Hello1</div> <div class="square"> Hello1</div> <div class="square"> Hello1</div> <div class="square"> Hello1</div> <div class="square"> Hello1</div> <div class="square"> Hello1</div> <div class="square"> Hello1</div> <div class="square"> Hello1</div> <div class="square"> Hello1</div> <div class="square"> Hello1</div> </div> 

You can do this with flex: 您可以使用flex来做到这一点:

 .umbrella { width: 500px; height: 400px; background: grey; display:flex; flex-wrap:wrap; flex-direction:column; } .square { background: red; width: 100px; height: 50px; margin: 5px; } 
 <div class="umbrella"> <div class="square"> Hello1</div> <div class="square"> Hello1</div> <div class="square"> Hello1</div> <div class="square"> Hello1</div> <div class="square"> Hello1</div> <div class="square"> Hello1</div> <div class="square"> Hello1</div> <div class="square"> Hello1</div> <div class="square"> Hello1</div> <div class="square"> Hello1</div> <div class="square"> Hello1</div> <div class="square"> Hello1</div> <div class="square"> Hello1</div> <div class="square"> Hello1</div> <div class="square"> Hello1</div> </div> 

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM