css:grid布局子元素被撑开导致没有按比例均分

举报
彭世瑜 发表于 2022/09/25 07:06:34 2022/09/25
【摘要】 目录 正常现象不均分现象解决方式方式一方式二方式三 正常现象 使用grid布局使得左右两边的元素均分,实现效果 css <style> .containe...

正常现象

使用grid布局使得左右两边的元素均分,实现效果
在这里插入图片描述

css

<style>
   .container {
     height: 500px;
     background-color: aliceblue;
     display: grid;
     grid-template-columns: repeat(2, 1fr);
     /* 方式一: */
     /* grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); */
   }

   .item {
     border: 1px solid #d0d0d0;
     padding: 10px;
     box-sizing: border-box;
     color: #fff;
     line-height: 478px;

     /* 方式二: */
     /* min-width:0 */

     /* 方式三: */
     /* overflow: hidden; */
   }

   .inner {
     height: 100%;
     overflow-y: auto;
     font-size: 80px;
     text-align: center;
     background-color: green;
   }

   .inner--overflow {
     width: 1000px;
   }
 </style>

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36

html

<div class="container">
	<div class="item">
	     <div class="inner">1</div>
	   </div>
	
	   <div class="item">
	     <div class="inner">2</div>
	   </div>
 </div>

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

不均分现象

不过,出现了一个问题,当其中一个元素内部的宽度比较大时,会出现不均分的现象

    <div class="container">
      <div class="item">
        <div class="inner">1</div>
      </div>

      <div class="item">
      	<!-- 增加一个宽度 -->
        <div class="inner inner--overflow">2</div>
      </div>
    </div>

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

在这里插入图片描述

解决方式

方式一

.container {
   height: 500px;
   background-color: aliceblue;
   display: grid;
   /* 方式一: */
   /* grid-template-columns: repeat(2, 1fr); */
   grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
 }

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

在这里插入图片描述

方式二

.item {
        border: 1px solid #d0d0d0;
        padding: 10px;
        box-sizing: border-box;
        color: #fff;
        line-height: 478px;

        /* 方式二: */
        min-width:0

}

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

在这里插入图片描述

方式三

.item {
        border: 1px solid #d0d0d0;
        padding: 10px;
        box-sizing: border-box;
        color: #fff;
        line-height: 478px;

        /* 方式三: */
        overflow: hidden;
}

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

在这里插入图片描述

参考
解决 grid 布局 item 被子元素撑开的问题

文章来源: pengshiyu.blog.csdn.net,作者:彭世瑜,版权归原作者所有,如需转载,请联系作者。

原文链接:pengshiyu.blog.csdn.net/article/details/126952048

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。