发表于: 2018-07-18 22:56:53
1 531
今天完成的事情:
今天上午看了
CSS Grid 布局由两个核心组成部分是 wrapper(父元素)和 items(子元素)。 wrapper 是实际的 grid(网格),items 是 grid(网格) 内的内容。
下面是一个 wrapper 元素,内部包含6个 items :
HTML 代码:
- <div class="wrapper">
- <div>1</div>
- <div>2</div>
- <div>3</div>
- <div>4</div>
- <div>5</div>
- <div>6</div>
- </div>
要把 wrapper 元素变成一个 grid(网格),然后把 display
的属性设置为 grid
CSS 代码:
- .wrapper {
- display: grid;
- }
它会将6个 div 堆叠在一起。
定义列和行。我写了3列和2行。我用了grid-template-row
和grid-template-column
属性。
CSS 代码:
- .wrapper {
- display: grid;
- grid-template-columns: 100px 100px 100px;
- grid-template-rows: 50px 50px;
- }
正如你所看到的,我们为 grid-template-columns
写入了 3 个值,这样我们就会得到 3 列。 我们想要得到 2 行,因此我们为 grid-template-rows
指定了2个值。
100px的值,行数高50。 结果如下:
CSS 代码:
- .wrapper {
- display: grid;
- grid-template-columns: 200px 50px 100px;
- grid-template-rows: 100px 30px;
- }
代码
放上子元素
然后在每个 items(子元素) 加上了 class
:
HTML 代码:
- <div class="wrapper">
- <div class="item1">1</div>
- <div class="item2">2</div>
- <div class="item3">3</div>
- <div class="item4">4</div>
- <div class="item5">5</div>
- <div class="item6">6</div>
- </div>
现在,我们来创建一个 3×3 的 grid(网格):
CSS 代码:
- .wrapper {
- display: grid;
- grid-template-columns: 100px 100px 100px;
- grid-template-rows: 100px 100px 100px;
- }
将得到以下布局:
只在页面上看到 3×2 的 grid(网格),而我们定义的是 3×3 的 grid(网格)。这是因为我们只有 6 个 items(子元素) 来填满这个网格。如果我们再加3个 items(子元素),那么最后一行也会被填满。
如果定位和调整 items(子元素) 大小,我就要用 grid-column
和 grid-row
属性来设置:
CSS 代码:
- .item1 {
- grid-column-start: 1;
- grid-column-end: 4;
- }
CSS 代码:
- .item1 {
- grid-column: 1 / 4;
- }
,然后重新排列其他的 items(子元素) 。
CSS 代码:
- .item1 {
- grid-column-start: 1;
- grid-column-end: 3;
- }
- .item3 {
- grid-row-start: 2;
- grid-row-end: 4;
- }
- .item4 {
- grid-column-start: 2;
- grid-column-end: 4;
以下是页面上的布局效果:
明天计划的事情:
写任务八
遇到的问题:
没有太忙了
收获:
学会了简单的gird布局
评论