我正在try 重新排列这段代码,以获得与屏幕截图类似的网格视图.

我需要在行的第一个图像是100%的全宽,然后第二行我需要在下面的一行相同宽度的3个图像.

enter image description here

演示:我不知道. http://jsfiddle.net/gycmp21k/ http://jsfiddle.net/gycmp21k/ http://jsfiddle.net/gycmp21k/

body {
  padding: 40px;
}

* {
  margin: 0px;
  padding: 0px;
}

ul {
  list-style: none;
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 1rem;
}

li:first-child {
  grid-row: span 2;
}

img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
<ul>
  <li>
    <img src="https://via.placeholder.com/400" />
  </li>
  <li>
    <img src="https://via.placeholder.com/400" />
  </li>
  <li>
    <img src="https://via.placeholder.com/400" />
  </li>
  <li>
    <img src="https://via.placeholder.com/400" />
  </li>
</ul>

推荐答案

图像2、3和4在图片中的宽度相同,因此请使它们的宽度相同.

grid-template-columns: 1fr 1fr 1fr;

图片1和图片2、3和4在图片中的高度不同,因此不要将它们设置为相同的高度:

grid-template-rows: auto auto;

图1横跨图片中的多个columns行,而不是多行,它横跨其中的3行,而不是2行

grid-column: span 3;

body {
  padding: 40px;
}

* {
  margin: 0px;
  padding: 0px;
}

ul {
  list-style: none;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-rows: auto auto;
  gap: 1rem;
}

li:first-child {
  grid-column: span 3;
}

img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
<ul>
  <li>
    <img src="https://via.placeholder.com/400" />
  </li>
  <li>
    <img src="https://via.placeholder.com/400" />
  </li>
  <li>
    <img src="https://via.placeholder.com/400" />
  </li>
  <li>
    <img src="https://via.placeholder.com/400" />
  </li>
</ul>

Html相关问答推荐

为什么html复选框总是具有只读属性?

如何删除html原生对话框的宽度

如何将值从Google Sheets侧边栏中的表单中的输入传递到Google Sheets单元格中使用Textile()

删除第一个列表项上的左边框

Tailwind CSS:overflow-y Property Not Scrolling Unreliably to Bottom with top-[63px]

如何翻转卡片图像的背面

如果浏览器通过http接收html,为什么客户端内置表单验证不起作用?

Css网格:两列,除非小于150px

在弹性框布局中的第n个元素后强制换行

如何使背景图像在面包屑中相互重叠

是否可以制作响应式 CSS 剪辑路径?

四开将一个 qmd 文档中的单词链接到另一个 qmd 文档中的单词

在 flexbox 中使用 spacer 是否有效

如何为Vuetify输入控件减小标签和字段之间的间距?

如何在 Flex 对齐内容框下显示隐藏按钮和文本

使用 calc 函数设置字体大小时 Flexbox 项目重叠

如何使用 CSS 和 HTML 将文本放入图像中?

将 div 放在图片旁边而不是下方

如何使用 :before 在 CSS 中为列表增加计数器

html tailwindcss 给 li 标签添加边框