#yyds干货盘点# 前端歌谣的刷题之路-第一百四十一题-flex-grid-区域

简介: #yyds干货盘点# 前端歌谣的刷题之路-第一百四十一题-flex-grid-区域

题目

 Grid,即网格布局。它将页面划分为一个个网格,可以任意组合不同的形态,做出理想的布局效果。Grid布局与Flexbox布局的区别在于,Flexbox是根据轴线对弹性项进行排列,而Grid布局是将容器划分为行和列,产生单元格,然后再对单元格进行操作。

 采用网格布局的区域称为容器。容器内部采用网格定位的每个子元素称为容器项,也是单元格。划分网格的线称为网格线,比如,3x3的网格有4条水平网格线和4条垂直网格线。

 现在给section盒子设置"display: grid"属性,将该盒子变成一个容器。现在需要通过给该容器划分行和列来生成单元格,给容器设置"grid-template-rows: 100px"和"grid-template-columns: repeat(2, 1fr)"两条属性以生成一个Nx2的网格,且每个容器项的宽度比为1:1、第一行的高度为100px(注意:实际上行高度可以不用设置,会根据每个容器项自动撑开,但如果设置了,就要考虑清除需要多少行,当前的行值100px仅为第一行,如果需要前三行都为100px,需要设置为"grid-template-rows: 100px 100px 100px")。repeat方法可以简化属性值的书写,为了方便表示比例关系,网格布局提供了fr关键字,该关键字和flex-grow颇为相似。实际上如果想固定大小,完全可以将单位全部设置为固定的px值。现在继续给容器添加"grid-gap: 10px"属性,该属性为"grid-row-gap"和"grid-column-gap"两个属性的简写,分别代表行间距和列间距。

 进入下一节的学习吧。

image.png

编辑

核心代码

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>grid</title>
</head>
<style type="text/css">margin: 0;
      padding: 0;
      box-sizing: border-box;
  }
   section {
      text-align: center;
      display: grid;
      grid-template-rows: repeat(3,100px);
      grid-template-columns: 100px 100px 100px;
      grid-template-areas: 'a b c'
                           'd e f'
                           'g h i';
  }
  article {
      height: 100px;
      border: 1px solid black;
  }
  article:nth-child(1) {
      grid-area: e;
  }
</style>
<body>
  <section>
    <article>1</article>
    <article>2</article>
    <article>3</article>
    <article>4</article>
    <article>5</article>
    <article>6</article>
    <article>7</article>
    <article>8</article>
    <article>9</article>
</section>
</body>
</html>
相关文章
|
7月前
|
前端开发 容器
【前端】1、flex 布局详解
【前端】1、flex 布局详解
100 0
|
前端开发 容器
前端页面布局之【Flex布局】详解
前端页面布局之【Flex布局】详解
152 0
|
3月前
|
弹性计算 前端开发 容器
【前端web入门第六天】02 flex布局
Flex布局是一种现代CSS布局模式,通过给父元素设置`display: flex`,其子元素可自动挤压或拉伸。它包含弹性容器和弹性盒子,主轴默认为水平方向,侧轴为垂直方向。主轴对齐方式由`justify-content`属性控制,侧轴对齐方式包括`align-items`(针对所有子元素)和`align-self`(针对单个子元素)。修改主轴方向使用`flex-direction`属性,`flex`属性用于控制子元素在主轴上的伸缩比例。此外,`flex-wrap`属性允许子元素换行,而`align-content`属性则定义多行对齐方式。
|
5月前
|
前端开发
前端 CSS 经典:flex + margin 布局
前端 CSS 经典:flex + margin 布局
44 0
|
7月前
|
编解码 前端开发 iOS开发
前端开发入门笔记(八)CSS3属性详解:动画详解+Flex布局图文详解+Web字体
前端开发入门笔记(八)CSS3属性详解:动画详解+Flex布局图文详解+Web字体
111 1
|
前端开发
前端学习笔记202306学习笔记第四十五天-uniapp-flex布局5
前端学习笔记202306学习笔记第四十五天-uniapp-flex布局5
61 0
|
前端开发
前端学习笔记202306学习笔记第四十五天-uniapp-flex布局1
前端学习笔记202306学习笔记第四十五天-uniapp-flex布局1
55 0
|
前端开发
前端学习笔记202306学习笔记第四十五天-uniapp-flex布局2
前端学习笔记202306学习笔记第四十五天-uniapp-flex布局2
54 0
|
前端开发
前端学习笔记202306学习笔记第四十五天-uniapp-flex布局4
前端学习笔记202306学习笔记第四十五天-uniapp-flex布局4
43 0
|
前端开发
前端学习笔记202306学习笔记第四十五天-uniapp-flex布局3
前端学习笔记202306学习笔记第四十五天-uniapp-flex布局3
34 0