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

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

目录

正常现象

使用grid布局使得左右两边的元素均分,实现效果

image.png

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>

image.png

解决方式

方式一

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

image.png

方式二

.item {
        border: 1px solid #d0d0d0;
        padding: 10px;
        box-sizing: border-box;
        color: #fff;
        line-height: 478px;
        /* 方式二: */
        min-width:0
}

image.png

方式三

.item {
        border: 1px solid #d0d0d0;
        padding: 10px;
        box-sizing: border-box;
        color: #fff;
        line-height: 478px;
        /* 方式三: */
        overflow: hidden;
}

image.png

参考

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


相关文章
|
22天前
|
前端开发 UED 容器
在 CSS 中使用 Flex 布局实现页面自适应时需要注意什么?
【10月更文挑战第22天】在使用 Flex 布局实现页面自适应时,需要对其基本原理和特性有深入的理解,同时结合具体的布局需求和场景,进行细致的调整和优化。通过合理的设置和注意事项的把握,才能实现理想的自适应效果,提升用户体验。还可以根据实际情况进行更深入的探索和实践,以不断提升 Flex 布局的应用能力。
|
16天前
|
前端开发 容器
实现CSS品字布局
【10月更文挑战第27天】
|
1月前
|
前端开发 容器
使用 CSS Grid 布局实现响应式设计
【10月更文挑战第1天】使用 CSS Grid 布局实现响应式设计
49 4
|
1月前
|
前端开发 容器
前端技术分享:利用CSS Grid布局实现响应式设计
【10月更文挑战第1天】前端技术分享:利用CSS Grid布局实现响应式设计
|
1月前
|
前端开发 UED 容器
前端技术分享:利用 CSS Grid 实现响应式布局
【10月更文挑战第1天】前端技术分享:利用 CSS Grid 实现响应式布局
54 2
|
2月前
|
前端开发 容器
css布局-弹性布局学习笔记
这篇文章是关于CSS弹性布局的学习笔记,详细介绍了flex容器和元素的相关属性,包括flex-direction、flex-wrap、flex-flow、justify-content、align-items、align-content以及order、flex-grow、flex-shrink、flex-basis、flex和align-self等,解释了这些属性在弹性盒子布局中的作用和用法。
|
2月前
|
JavaScript 前端开发
网页前端课程设计-【模仿】香港中文大学官网,轮播图及div+css布局,js的dom操作
这篇文章介绍了如何模仿香港中文大学官网进行网页前端课程设计,包括使用div+css布局、js的DOM操作以及实现轮播图等技术细节。
|
3月前
|
前端开发 安全 容器
CSS如何优雅实现卡片多行排列布局?
【8月更文挑战第24天】CSS如何优雅实现卡片多行排列布局?
125 3
|
3月前
|
前端开发 开发者 容器
探索现代Web开发中的CSS Grid布局技术
【8月更文挑战第29天】在数字时代的浪潮中,网页设计不断进化以适应日新月异的用户需求。CSS Grid布局技术作为一项革新性的前端工具,为设计师和开发者提供了前所未有的布局能力。本文旨在通过深入浅出的方式介绍CSS Grid的核心概念、基本用法以及在实际项目中的应用,帮助读者快速掌握这一强大的网页布局工具。
56 3