【问题标题】:CSS minmax invalid property valueCSS minmax 无效属性值
【发布时间】:2017-10-24 19:03:10
【问题描述】:

我想为我的grid-template-columns 设置minmax 属性。但由于某种原因,我无法让它工作。

这是我的代码:

.start {
    width: 100%;
    display: grid;
    grid-template-columns: minmax(320px, 1fr) minmax(320px, 1fr);
    grid-template-rows: auto;
    grid-gap: 2%;
}

<div class="start">
  <div class="news"></div>
  <div class="video"></div>
</div>

当我在 Chrome 中检查 .start 类时,它只是说 minmax 属性的“属性值无效”。

我只想要一个两列布局,当视口变窄时变成一列布局。

【问题讨论】:

    标签: html css grid css-grid


    【解决方案1】:

    我想这就是你所追求的:

    grid-template-columns: repeat(2, minmax(320px, 1fr));
    

    对于较小的屏幕,您需要一列,请使用媒体查询来运行:

    grid-template-columns: 1fr;
    

    minmax() 表示法需要正确的语法。

    对于大多数 CSS 属性都可以这么说,除了这种情况,由于有许多选项和变化,语法有点复杂,不容易理解。换句话说,创建无效规则相对容易。

    minmax() 的正确语法详见下表 (taken from the spec)。

    请注意,在曲目列表中没有minmax() 后跟另一个minmax() 的选项。这就是你的规则无效的原因。

    这里是完整的解释:

    【讨论】:

      【解决方案2】:

      minmax() CSS 函数定义了一个大于等于 min 小于等于 max 的大小范围。

      /* <inflexible-breadth>, <track-breadth> values */
      minmax(200px, 1fr)
      minmax(400px, 50%)
      minmax(30%, 300px)
      minmax(100px, max-content)
      minmax(min-content, 400px)
      minmax(max-content, auto)
      minmax(auto, 300px)
      minmax(min-content, auto)
      
      /* <fixed-breadth>, <track-breadth> values */
      minmax(200px, 1fr)
      minmax(30%, 300px)
      minmax(400px, 50%)
      minmax(50%, min-content)
      minmax(300px, max-content)
      minmax(200px, auto)
      
      /* <inflexible-breadth>, <fixed-breadth> values */
      minmax(400px, 50%)
      minmax(30%, 300px)
      minmax(min-content, 200px)
      minmax(max-content, 200px)
      minmax(auto, 300px)
      

      【讨论】:

        猜你喜欢
        • 2018-01-02
        • 2018-04-10
        • 2016-02-28
        • 1970-01-01
        • 1970-01-01
        • 2020-02-04
        • 2021-12-03
        • 2017-03-22
        • 1970-01-01
        相关资源
        最近更新 更多