• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

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

武飞扬头像
彭世瑜
帮助1

正常现象

使用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>
学新通

html

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

不均分现象

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

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

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

学新通

解决方式

方式一

.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

}

学新通

方式三

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

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

学新通

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

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgcjegk
系列文章
更多 icon
同类精品
更多 icon
继续加载