登录
首页 >  文章 >  前端

如何使用 flex 或 grid 布局将 HTML 元素排列成指定效果?

时间:2024-12-14 18:40:06 239浏览 收藏

大家好,我们又见面了啊~本文《如何使用 flex 或 grid 布局将 HTML 元素排列成指定效果?》的内容中将会涉及到等等。如果你正在学习文章相关知识,欢迎关注我,以后会给大家带来更多文章相关文章,希望我们能一起进步!下面就开始本文的正式内容~

如何使用 flex 或 grid 布局将 HTML 元素排列成指定效果?

css 布局难题:使用 flex 或 grid 排列 html 元素

考虑以下 html 结构:

<div>
    <em>1</em>
    <em>2</em>
    <em>3</em>
    <em>4</em>
</div>

我们希望在不改变 html 结构的情况下,使用 flex 或 grid 布局,将元素排列成如下效果:

  • 1 和 4 自适应大小
  • 2 和 3 成两行,占剩余空间

flex 布局

在 flex 布局中,采用以下样式:

div {
  display: flex;
  justify-content: space-between;
}

em:nth-child(2), em:nth-child(3) {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
  • 将 div 设为 flex 容器,元素按 flex 布局排列。
  • 1 和 4 设置为 flex 项目,flex-grow 允许它们自适应大小。
  • 2 和 3 设置为嵌套的 flex 容器,flex-direction 为 column,指定垂直排列。

grid 布局

在 grid 布局中,采用以下样式:

div {
  display: grid;
  grid-template-columns: auto 1fr auto;
  grid-template-rows: auto auto;
}

em:nth-child(1) {
  grid-column: 1;
  grid-row: 1 / span 2;
}

em:nth-child(2) {
  grid-column: 2;
  grid-row: 1;
}

em:nth-child(3) {
  grid-column: 2;
  grid-row: 2;
}

em:nth-child(4) {
  grid-column: 3;
  grid-row: 1 / span 2;
}
  • 将 div 设为 grid 容器,元素按 grid 布局排列。
  • 设置 grid-template-columns 为 3 列,其中中间列为自适应大小。
  • 1 和 4 占两行,2 和 3 占其中一行。

以上就是《如何使用 flex 或 grid 布局将 HTML 元素排列成指定效果?》的详细内容,更多关于的资料请关注golang学习网公众号!

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>