CSS 网格 3 列布局,边距缩小到 0px 后缩小中心

托尼·韦斯顿

我想创建一个 CSS 网格响应式 3 列布局,中心列 500px,边距占用剩余空间。

但是,当屏幕调整到比 500px 窄时,我希望中心列缩小,边距根本不占用空间 (0px)。

我使用以下代码完成了此操作,但我发现除了使用媒体查询和摆弄数字之外别无他法!我确信仅使用网格模板列就可以做到这一点,但找不到方法。任何人都可以帮忙。

<html>

<head>

  <style>
    .grid {
      display: grid;
      margin: 20px;
      grid-template-columns: 1fr 500px 1fr;
      align-items: stretch;
      justify-items: stretch;
    }
    
    @media only screen and (max-width: 560px) {
      .grid {
        grid-template-columns: 0 1fr 0;
      }
    }
    
    .left {
      grid-column: 1;
      background-color: red;
      height: 200px;
    }
    
    .centre {
      grid-column: 2;
      background-color: green;
    }
    
    .right {
      grid-column: 3;
      background-color: blue;
    }
  </style>
</head>

<body>
  <div class="grid">
    <div class="left"></div>
    <div class="centre"></div>
    <div class="right"></div>
  </div>
</body>

</html>

托尼·韦斯顿

当你发现诀窍时真的很简单..

minmax(0,500px) 尝试分配尽可能多的空间,最多 500 像素,同时允许它在视口太窄时缩小。

<html>
<head>

<style>
.grid {
    display: grid;
    margin: 20px;
    grid-template-columns: 1fr minmax(0,500px) 1fr;
    align-items: stretch;
    justify-items: stretch;
}

.left {
    grid-column: 1;
    background-color: red;
    height: 200px;
}

.centre {
    grid-column: 2;
    background-color: green;

}

.right {
    grid-column: 3;
    background-color: blue;
}
</style>
</head>
<body>
    <div class="grid">
        <div class="left"></div>
        <div class="centre"></div>
        <div class="right"></div>
    </div>
</body>
</html>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

空时CSS网格布局行高0px

来自分类Dev

无法放置 0px 边距

来自分类Dev

将CSS / JS缩小到各自的文件中

来自分类Dev

CSS-徽标顶部= 0px

来自分类Dev

CSS-徽标顶部= 0px

来自分类Dev

excel 导出后,Kendo 网格中的网格列缩小

来自分类Dev

CSS中的声明是什么:font:0px / 0px a;

来自分类Dev

CSS中的声明是什么:font:0px / 0px a;

来自分类Dev

在twitter bootstrap 3中缩小到小屏幕尺寸后,内部nav标签div标签显示单独显示

来自分类Dev

以CSS网格为中心

来自分类Dev

如何将TableLayout列缩小到minWidth?

来自分类Dev

如何将TableLayout列缩小到minWidth?

来自分类Dev

合并两个PDF,缩小到〜3“ x4”,然后连续打印

来自分类Dev

CSS全宽网格-具有均匀边距的列

来自分类Dev

0px(但不是0.1px)填充容器内的负边距

来自分类Dev

0px(但不是0.1px)填充容器内的负边距

来自分类Dev

CSS网格布局最后一项中心

来自分类Dev

砌体布局加载高度为0px

来自分类Dev

CSS网格边距不正确

来自分类Dev

CSS网格是否抑制网格项目内的边距崩溃?

来自分类Dev

具有自动页边距的css div不会缩小

来自分类Dev

Twitter Boostrap 3边距网格问题

来自分类Dev

如何使用HTML和CSS创建3列图像网格?

来自分类Dev

Bootstrap 还是 CSS 网格?- 3 列等高但内容溢出

来自分类Dev

将instanceof缩小到特定的子类

来自分类Dev

CSS 网格还是列?

来自分类Dev

UICollectionView 3列网格,1px空间?(含图片)

来自分类Dev

当填充和边距为0px时,文档顶部的空白

来自分类Dev

设置额外的边距动画,并防止再次从0px开始?