第一个
第二个
第三个
<_css 高度 不相同 填充 空白">
当前位置:   article > 正文

css实现三列等宽自适应布局(不等高、等高)_css 高度 不相同 填充 空白

css 高度 不相同 填充 空白

(一)三列等宽不等高布局

html布局:

  1. <div class="container">
  2. <div class="box left">
  3. 第一个
  4. </div>
  5. <div class="box center">
  6. 第二个
  7. </div>
  8. <div class="box right">
  9. 第三个
  10. </div>
  11. </div>

方法一:瀑布流布局: multi-columns 布局

第①种:

  1. .left{
  2. height: 160px;
  3. background: blue;
  4. }
  5. .center{
  6. height: 285px;
  7. background:red;
  8. }
  9. .right{
  10. height: 80px;
  11. background:pink;
  12. }
  13. .container {
  14. -moz-column-count:3;
  15. -webkit-column-count:3; /* Firefox */
  16. column-count:3; /* Safari 和 Chrome */
  17. -moz-column-gap:1em;
  18. -webkit-column-gap:1em;
  19. column-gap:1em;
  20. }
  21. .box {
  22. padding:1em;
  23. -moz-page-break-inside:avoid;
  24. -webkit-column-break-inside:avoid;
  25. break-inside:avoid;
  26. }

第②种:

  1. .left{
  2. height: 160px;
  3. background: blue;
  4. }
  5. .center{
  6. height: 285px;
  7. background:red;
  8. }
  9. .right{
  10. height: 80px;
  11. background:pink;
  12. }
  13. .container {
  14. column-count: 3; /*css3新增,把contaner容器中的内容分为三列*/
  15. column-gap: 20px; /*定义列之间的间隙为20px*/
  16. }
  17. .box {
  18. font-size: 40px;
  19. -webkit-column-break-inside: avoid;
  20. break-inside: avoid;
  21. counter-increment: item-counter;
  22. }

方法二:Flexbox布局

  1. .left{
  2. height: 160px;
  3. background: blue;
  4. }
  5. .center{
  6. height: 285px;
  7. background:red;
  8. }
  9. .right{
  10. height: 80px;
  11. background:pink;
  12. }
  13. .container {
  14. display: flex;
  15. justify-content:space-between;
  16. flex-wrap: wrap;
  17. }
  18. .box {
  19. font-size: 40px;
  20. width: calc((100% - 40px)/3); /* 40px是这三个元素之间的间距 */
  21. display: inline-block;
  22. -webkit-box-sizing: border-box;
  23. -moz-box-sizing: border-box;
  24. box-sizing: border-box;
  25. }

参考:https://blog.csdn.net/Artful_Dodger/article/details/79761760

(二)三列等宽等高布局

html布局:

  1. <div class="container">
  2. <div class="left"></div>
  3. <div class="center"></div>
  4. <div class="right"></div>
  5. </div>

方法一:flex 布局

第①种:父容器设置 display:flex; 子元素设置 flex:1

  1. .container{
  2. display:flex;
  3. width:100%;
  4. height:200px;
  5. background: green;
  6. }
  7. .left{
  8. width:30%;
  9. margin:0 2.5% 0 0;
  10. height:100%;
  11. background-color:blue;
  12. }
  13. .center{
  14. width:30%;
  15. margin:0 5% 0 2.5%;
  16. height:100%;
  17. background-color:red;
  18. }
  19. .right{
  20. flex:1;
  21. background-color:yellow;
  22. }

第②种:父容器使用 display:flex;  justify-content:space-between;子元素设置为 30%

  1. .container{
  2. height:300px;
  3. display:flex;
  4. justify-content:space-between;
  5. }
  6. .left{
  7. background-color:pink;
  8. width:30%;
  9. }
  10. .center{
  11. background-color:black;
  12. width:30%;
  13. }
  14. .right{
  15. background-color:red;
  16. width:30%;
  17. }

方法二:绝对布局

  1. .container{
  2. width:100%;
  3. height:200px;
  4. background: green;
  5. position:relative;
  6. }
  7. .left{
  8. width:30%;
  9. position:absolute;
  10. left:0;
  11. top:0;
  12. background-color:red;
  13. height:100%;
  14. }
  15. .center{
  16. width:30%;
  17. margin-left:35%;
  18. background-color:blue;
  19. height:100%;
  20. position:absolute;
  21. }
  22. .right{
  23. width:30%;
  24. margin-left:70%;
  25. background-color:yellow;
  26. height:100%;
  27. }

方法三:使用浮动

  1. .container{
  2. width:100%;
  3. height:200px;
  4. }
  5. .left{
  6. float:left;
  7. width:30%;
  8. margin:0 2.5% 0 0;
  9. background-color:blue;
  10. height:100%;
  11. }
  12. .center{
  13. float:left;
  14. width:30%;
  15. margin-left:2.5%;
  16. margin-right:5%;
  17. background-color:red;
  18. height:100%;
  19. }
  20. .right{
  21. overflow:hidden;
  22. background-color:pink;
  23. height:100%;
  24. }

参考:https://blog.csdn.net/fufang0303/article/details/106409364/

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/码创造者/article/detail/812289
推荐阅读
相关标签
  

闽ICP备14008679号