Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html “试图复制布局”;“根据需要安装”;或;Ram";对于IE 11,但项目在不应拉伸的情况下被拉伸_Html_Css_Layout_Flexbox - Fatal编程技术网

Html “试图复制布局”;“根据需要安装”;或;Ram";对于IE 11,但项目在不应拉伸的情况下被拉伸

Html “试图复制布局”;“根据需要安装”;或;Ram";对于IE 11,但项目在不应拉伸的情况下被拉伸,html,css,layout,flexbox,Html,Css,Layout,Flexbox,我试图复制这种布局,它们都很相似,但应用程序不同: RAM从1行布局开始 css技巧中需要的拟合 我可以用flexbox模拟几乎所有的情况,但是如果他们中断到新行,则新行的行不应该增长,而上面的行应该增长。 代码如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="

我试图复制这种布局,它们都很相似,但应用程序不同:

RAM从1行布局开始

css技巧中需要的拟合

我可以用flexbox模拟几乎所有的情况,但是如果他们中断到新行,则新行的行不应该增长,而上面的行应该增长。 代码如下:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <style>
    body {
      display: flex;
      flex-wrap: wrap;
      /* flex-flow: row wrap; */
      height: 100vh;
      margin: -1rem 0 0 -1rem;
    }
    div {
      margin: 1rem 0 0 1rem;
      display: flex;
      /* id I set flex grow to 1, the items on the top grows as the should but the item in the new line should not */
      flex-grow: 0;
      flex-shrink: 0;
      flex-basis: calc(25% - 1rem);
      min-width: 200px;
      background: lightpink;
      align-items: center;
      justify-content: center;
    }

    @supports (display: grid) {
      body {
        display: grid;
        height: 100vh;
        gap: 1rem;
        grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
      }
    }

    @supports (display: grid) {
      div {
        display: grid;
        place-items: center;
        background: lightpink;
      }
    }

    body {
      font-family: system-ui, sans-serif;
    }
  </style>
  <body>
    <div>1</div>
    <div>2</div>
    <div>3</div>
    <div>4</div>
  </body>
</html>

文件
身体{
显示器:flex;
柔性包装:包装;
/*柔性流:行换行*/
高度:100vh;
保证金:-1雷姆0-1雷姆;
}
div{
保证金:1雷姆0 0 1雷姆;
显示器:flex;
/*id我将flex grow设置为1,顶部的项目应按预期增长,但新行中的项目不应按预期增长*/
flex-grow:0;
弹性收缩:0;
弹性基础:计算(25%-1勒姆);
最小宽度:200px;
背景:浅粉红色;
对齐项目:居中;
证明内容:中心;
}
@支持(显示:网格){
身体{
显示:网格;
高度:100vh;
差距:1勒姆;
网格模板列:重复(自动拟合,最小值(200px,1fr));
}
}
@支持(显示:网格){
div{
显示:网格;
放置项目:中心;
背景:浅粉红色;
}
}
身体{
字体系列:系统界面,无衬线;
}
1.
2.
3.
4.
如您所见,将flex grow更改为1将使上面的项目保持增长,但下面的项目不应该发生这种情况,因为它应该保持200px


有没有其他方法可以实现这个示例,可能不依赖flex基础,也不使用媒体查询?

我想知道我能做到这一点。检查代码笔:

https://codepen.io/deleite/pen/BaKvqRp
css非常混乱,因为我也想模仿gap。但我相信我可以用sass做一些更简单的事情

如果要将其用于容器查询,请加载eqcs并使用元素查询而不是@media

    <script>
    // self-invoked wrapper for scoping the `document` variable
    !(function (d) {
      if (!d.currentScript) {
        var s = d.createElement("script");
        s.src =
          "https://cdnjs.cloudflare.com/ajax/libs/eqcss/1.9.2/EQCSS.min.js";
        d.head.appendChild(s);
      }
    })(document);
  </script>

而不是媒体查询。

所有人都想知道我能做到这一点。检查代码笔:

https://codepen.io/deleite/pen/BaKvqRp
css非常混乱,因为我也想模仿gap。但我相信我可以用sass做一些更简单的事情

如果要将其用于容器查询,请加载eqcs并使用元素查询而不是@media

    <script>
    // self-invoked wrapper for scoping the `document` variable
    !(function (d) {
      if (!d.currentScript) {
        var s = d.createElement("script");
        s.src =
          "https://cdnjs.cloudflare.com/ajax/libs/eqcss/1.9.2/EQCSS.min.js";
        d.head.appendChild(s);
      }
    })(document);
  </script>
而不是媒体查询