【图片版,6年菜鸟开发面试字节跳动Java研发岗

简写属性grid-rowgrid-column也可以利用网格线名称来定位项目。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rZEn7Q9L-1630855888406)(http://res.42du.cn/up/grid/p-by-name-2.jpg)]

演示程序

10 用同名网格线命名和定位项目


函数repeat()可以定义同名网格线。这节省了给每条网格都命名的时间。

10.1 例24


`grid {

    display: grid;

    grid-template-rows: repeat(3, [row-start] 1fr [row-end]);

    grid-template-columns: repeat(3, [col-start] 1fr [col-end]);

}`

函数repeat()可以用来定义同名网格线。 这样多个网格线拥有相同的名字。

同名网格线会被分配一个位置编号,做为其唯一标识。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zImoPQbI-1630855888408)(http://res.42du.cn/up/grid/p-same-name-1.jpg)]

10.2 例25


`.item1 {

    grid-row:    row-start 2 / row-end 3;

   grid-column: col-start / col-start 3;

}`

用同名网格线来定位项目时,应注意在网格线名称和编号之间有一个空格。

本例中,项目1的行定位开始于第2条名称是row-start的网格线,结束于第3条名称是row-end的网格线;列定位开始于第1条名称是col-start的网格线,结束于第3条名称是col-start的网格线。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CcxL80kz-1630855888409)(http://res.42du.cn/up/grid/p-same-name-2.jpg)]

演示程序

11 用网格区域命名和定位项目


如同网格线命名,可以用属性grid-template-areas给网格区域命名。网格区域名称可以用来定位网格项目。

11.1 例26


`grid {

    display: grid;

    grid-template-areas:   "header header"

                        "content sidebar"

                        "footer footer";

    grid-template-rows:    150px 1fr 100px;

    grid-template-columns: 1fr 200px;

}`

一组区域名称要放在单引号或双引号内,每一个名称之间以空格分隔。

每一组名称定义一行,每一个名称定义一列。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WPsXzHxF-1630855888410)(http://res.42du.cn/up/grid/area-1.jpg)]

11.2 例27


`header {

    grid-row-start: header;

    grid-row-end: header;

    grid-column-start: header;

    grid-column-end: header;

}`

网格区域名称可以用在属性grid-row-start, grid-row-end, grid-column-start, 和 grid-column-end的值中,用来定位项目。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OCor42PO-1630855888411)(http://res.42du.cn/up/grid/area-2.jpg)]

11.3 例28


`footer {

    grid-row: footer;

    grid-column: footer;

}`

网格区域名称也可以用于简写属性grid-rowgrid-column的值中。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LpPBHoVD-1630855888412)(http://res.42du.cn/up/grid/area-3.jpg)]

11.4 例29


`aside {

    grid-area: sidebar;

}`

网格区域名称也可以用于简写属性grid-area的值中。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YJ9aaJ87-1630855888413)(http://res.42du.cn/up/grid/area-4.jpg)]

演示程序

12 隐式网格


隐式网格用来在显式网格之外定位项目。有时在显示网格中没有足够的空间,或者是要在显示网格之外定位项目就要用到隐式网格。这时可以把这些项目放置在隐式网格中。

隐式网格可以通过属性 grid-auto-rows, grid-auto-columns, 和 grid-auto-flow 来定义。

12.1 例30


`grid {

    display : grid;

    grid-template-rows:    70px;

    grid-template-columns: repeat(2, 1fr);

    grid-auto-rows:        140px;

}`

本例中,只定一个行轨道,因此项目 1 和 2 高 70px 。

第2行轨道有隐式网格自动创建并为项目 3 和 4 分配了空间。 属性grid-auto-rows 定义了隐式网格的行轨道尺寸,即项目3和4的高度是 140px 。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jz5NPGgS-1630855888414)(http://res.42du.cn/up/grid/implicit-1.jpg)]

演示程序

12.2 例31


`grid {

    display : grid;

    grid-auto-flow: row;

}`

缺省的网格布局方向是行的方向(row)。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IL80GI2x-1630855888414)(http://res.42du.cn/up/grid/implicit-2.jpg)]

12.3 例32


`grid {

    display : grid;

    grid-auto-flow: column;

}`

网格的布局方向可以定义为列的方向(column)。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fA50zPMk-1630855888415)(http://res.42du.cn/up/grid/implicit-3.jpg)]

12.4 例33


`grid {

    display : grid;

    grid-template-columns: 30px 60px;

    grid-auto-flow:        column;

    grid-auto-columns:     1fr;

}`

本例中,我们只定义了两个列轨道的尺寸30px 和 60px。

隐式网格中自动创建其它列并给项目3,4,5分配空间;分配的空间尺寸是通过属性 grid-auto-columns定义的。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MPxQISiP-1630855888416)(http://res.42du.cn/up/grid/implicit-4.jpg)]

演示程序

13 隐式命名的网格区域


网格线名称可以任意指定,但分配以 -start-end 结尾的名字有额外的益处,这样隐式地创建了具名网格区域,该名称可以用于项目定位。

13.1 例34


`grid {

    display : grid;

    grid-template-rows:    [outer-start] 1fr [inner-start] 1fr [inner-end] 1fr [outer-end];

    grid-template-columns: [outer-start] 1fr [inner-start] 1fr [inner-end] 1fr [outer-end];

}`

本例中,行和列都有名为inner-startinner-end的网格线,它们隐式地给网格区域分派了名称(inner)。


`item1 {

    grid-area: inner;

}`

这样我们就能够直接使用网格区域名来定位,而不需要再用网格线来定位项目了。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zJvDnIoh-1630855888416)(http://res.42du.cn/up/grid/implicit-area-1.jpg)]

演示程序

14 隐式命名的网格线


隐式命名网格线和隐式命名的网格区域的工作原理刚好相反。

14.1 例35


`grid {

    display : grid;

    grid-template-areas:   "header header"

                        "content sidebar"

                        "footer footer";

    grid-template-rows:    80px 1fr 40px;

    grid-template-columns: 1fr 200px;

}`

定义网格区域时隐式的命名了网格线的名称。这些网格线的名称是基于区域名加上-start-end后缀组成的。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4H3fSGC4-1630855888417)(http://res.42du.cn/up/grid/implicit-line-1.jpg)]

14.2 例36


`item1 {

    grid-row-start:    header-start;

    grid-row-end:      content-start;

    grid-column-start: footer-start;

    grid-column-end:   sidebar-end;

}`

本例中,header是通过隐式网格线名称进行定位的。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rcx3QWKg-1630855888417)(http://res.42du.cn/up/grid/implicit-line-2.jpg)]

演示程序

15 层叠网格项目


通过项目定位可以使多个项目层叠在一起,属性z-index可以改变层叠项目的层次。

15.1 例37


`.item-1, .item-2 {

  grid-row-start:  1;

  grid-column-end: span 2;

}

.item-1 { grid-column-start: 1; z-index: 1; }

.item-2 { grid-column-start: 2 }`

本例中,项目1 和 2 行定位开始于第1条行网格线,并跨越两列。

两个项目都是用网格线编号进行定位。项目1起始于第1条列网格线,项目2起始于第2条列网格线,这使得两个项目在第一行中间列发生层叠。

缺省情况下,项目2将层叠于项目1之上;然而,给项目1设置属性z-index: 1就使得项目1层叠于项目2之上。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ma9NqPGO-1630855888418)(http://res.42du.cn/up/grid/layer-1.jpg)]

演示程序

15.2 例38


`.overlay {

    grid-row-start:    header-start;

    grid-row-end:      content-end;

    grid-column-start: content-start;

    grid-column-end:   sidebar-start;

    z-index: 1;

}`

本例中,利用在 grid-template-areas 定义中的隐式网格线名称,定位了一个网格项目(overlay),并将层叠于上层。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LORhXR4q-1630855888419)(http://res.42du.cn/up/grid/layer-2.jpg)]

演示程序

16 网格项目的对齐方式


CSS的 盒模型对齐模块 补充了CSS网格的内容,网格项目可以按行或列的轴线方向实现多种对齐方式。

属性justify-itemsjustify-self 以行轴为参照对齐项目,属性align-itemsalign-self 以列轴为参照对齐项目。

属性justify-itemsalign-items 是网格容器的属性,并支持如下这些值:

  • auto

  • normal

  • start

  • end

  • center

  • stretch

  • baseline

  • first baseline

  • last baseline

16.1 例39


`.grid {

    grid-template-rows: 80px 80px;

    grid-template-columns: 1fr 1fr;

    grid-template-areas: "content content"

                       "content content";

}

.item { grid-area: content }

.grid {

    justify-items: start

}`

在行的轴线起点处对齐。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uboDyyfp-1630855888419)(http://res.42du.cn/up/grid/align-i-1.jpg)]

演示程序

16.2 例40


`grid {

    justify-items: center;

}`

在行的轴线中点处对齐。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-USUmnZS1-1630855888420)(http://res.42du.cn/up/grid/align-i-2.jpg)]

演示程序

16.3 例41


`grid {

    justify-items: end;

}`

在行的轴线终点处对齐。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7RKXTKse-1630855888421)(http://res.42du.cn/up/grid/align-i-3.jpg)]

演示程序

16.4 例42


`grid {

    justify-items: stretch;

}`

在行的轴线方向延伸并填满整个区域。stretch是缺省值。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5FnTMtrZ-1630855888421)(http://res.42du.cn/up/grid/align-i-4.jpg)]

演示程序

16.5 例43


`grid {

    align-items: start;

}`

在列的轴线起点处对齐。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Pg5TbX8b-1630855888422)(http://res.42du.cn/up/grid/align-i-5.jpg)]

演示程序

16.6 例44


`grid {

    align-items: center;

}`

在列的轴线中点处对齐。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mkuVMMVp-1630855888422)(http://res.42du.cn/up/grid/align-i-6.jpg)]

演示程序

16.7 例45


`grid {

    align-items: end;

}`

在列的轴线终点处对齐。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Aw1T8Xhk-1630855888423)(http://res.42du.cn/up/grid/align-i-7.jpg)]

演示程序

16.8 例46


`grid  {

    align-items: stretch;

}`

在列的轴线方向延伸并填满整个区域。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yWpMqRkN-1630855888424)(http://res.42du.cn/up/grid/align-i-8.jpg)]

演示程序

16.9 例47


`grid {

    justify-items: center;

    align-items:   center;

}`

项目定位于行轴和列轴线的中间位置。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NrUuGzhp-1630855888424)(http://res.42du.cn/up/grid/align-i-9.jpg)]

演示程序

17 网格项目的对齐方式2


项目可以用属性align-self 和 justify-self定义自己的对齐方式,并支持如下这些属性值:

  • auto

  • normal

  • start

  • end

  • center

  • stretch

  • baseline

  • first baseline

  • last baseline

17.1 例48


`.item1 { justify-self: start }

.item2 { justify-self: center }

.item3 { justify-self: end }`

属性justify-self 在行的轴线方向定义对齐方式。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DcGDFusS-1630855888425)(http://res.42du.cn/up/grid/align-i-10.jpg)]

演示程序

17.2 例49


`.item1 { align-self: start }

.item2 { align-self: center }

.item3 { align-self: end }`

属性align-self 在列的轴线方向定义对齐方式。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZqGAx7wJ-1630855888425)(http://res.42du.cn/up/grid/align-i-11.jpg)]

演示程序

17.3 例50


`.item1 {

    justify-self: center

    align-self:   center

}`

项目1定位在行的轴线和列的轴线的中间位置。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2qG8zXfM-1630855888426)(http://res.42du.cn/up/grid/align-i-12.jpg)]

演示程序

18 网格轨道的对齐方式


在网格容器中,网格轨道延轴线方向有多种对齐方式。

属性align-content用于定义网格轨道延着行的轴线的对齐方式,而属性justify-content用于定义网格轨道沿着列的轴线的对齐方式。并分别支持如下属性:

  • normal

  • start

  • end

  • center

  • stretch

  • space-around

  • space-between

  • space-evenly

  • baseline

  • first baseline

  • last baseline

18.1 例51


`.grid {

    width: 100%;

    height: 300px;

    grid-template-columns: repeat(4, 45px);

    grid-template-rows: repeat(4, 45px);

    grid-gap: 0.5em;

    justify-content: start;

}`

列的轨道在行的轴线起点处对齐。start 是缺省值。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VZOBKwig-1630855888427)(http://res.42du.cn/up/grid/align-t-1.jpg)]

演示程序

18.2 例52


`.grid {

    justify-content: end;

}`

列的轨道在行的轴线终点处对齐。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1uXeYu8o-1630855888427)(http://res.42du.cn/up/grid/align-t-2.jpg)]

演示程序

18.3 例53


`.grid {

    justify-content: center;

}`

列的轨道在行的轴线中间处对齐。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KJp7WDdn-1630855888428)(http://res.42du.cn/up/grid/align-t-3.jpg)]

演示程序

18.4 例54


`.grid {

    justify-content: space-around;

}`

在每一列的两侧平均分配额外空间。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sDtuNbq3-1630855888428)(http://res.42du.cn/up/grid/align-t-4.jpg)]

演示程序

18.5 例55


`.grid {

    justify-content: space-between;

}`

在列与列之间平均分配额外的空间。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GOmbdjJG-1630855888429)(http://res.42du.cn/up/grid/align-t-5.jpg)]

演示程序

18.6 例56


`.grid {

    justify-content: space-evenly;

}`

在列与列之间及列与边界之间平均分配额外空间。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QRQTOrLK-1630855888429)(http://res.42du.cn/up/grid/align-t-6.jpg)]

演示程序

18.7 例57


`.grid {

    align-content: start;

}`

行的轨道在列的轴线起点处对齐,属性start是缺省值。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AyGzkb42-1630855888430)(http://res.42du.cn/up/grid/align-t-7.jpg)]

演示程序

18.8 例58


`.grid {

    align-content: end;

}`

行的轨道在列的轴线终点处对齐。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CHwPKGj5-1630855888431)(http://res.42du.cn/up/grid/align-t-8.jpg)]

演示程序

18.9 例59


`.grid {

    align-content: center;

}`

行的轨道在列的轴线中点处对齐。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-f7A57QpC-1630855888431)(http://res.42du.cn/up/grid/align-t-9.jpg)]

演示程序

18.10 例60


`.grid {

    align-content: space-around;

}`

每一行的两侧平均分配额外空间。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gb1zfz2S-1630855888432)(http://res.42du.cn/up/grid/align-t-10.jpg)]

演示程序

18.11 例61


`.grid {

    align-content: space-between;

}`

在行与行之间平均分配额外空间。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NF9OOIQA-1630855888433)(http://res.42du.cn/up/grid/align-t-11.jpg)]

演示程序

资料分享

这是我从某优质机构弄来的一些资料,内容我认为确实称得上优质二字

CodeChina开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频】

首先分享一份学习大纲,内容较多,涵盖了互联网行业所有的流行以及核心技术,以截图形式分享:

(亿级流量性能调优实战+一线大厂分布式实战+架构师筑基必备技能+设计思想开源框架解读+性能直线提升架构技术+高效存储让项目性能起飞+分布式扩展到微服务架构…实在是太多了)

其次分享一些技术知识,以截图形式分享一部分:

Tomcat架构解析:

算法训练+高分宝典:

Spring Cloud+Docker微服务实战:

最后分享一波面试资料:

切莫死记硬背,小心面试官直接让你出门右拐

1000道互联网Java面试题:

Java高级架构面试知识整理:

{

align-content: end;

}`




行的轨道在列的轴线终点处对齐。



[外链图片转存中...(img-CHwPKGj5-1630855888431)]



[演示程序]( )



### 18.9 例59



`.grid {

align-content: center;

}`




行的轨道在列的轴线中点处对齐。



[外链图片转存中...(img-f7A57QpC-1630855888431)]



[演示程序]( )



### 18.10 例60



`.grid {

align-content: space-around;

}`




每一行的两侧平均分配额外空间。



[外链图片转存中...(img-gb1zfz2S-1630855888432)]



[演示程序]( )



### 18.11 例61



`.grid {

align-content: space-between;

}`




在行与行之间平均分配额外空间。



[外链图片转存中...(img-NF9OOIQA-1630855888433)]



[演示程序]( )




# 资料分享

这是我从某优质机构弄来的一些资料,内容我认为确实称得上优质二字

**[CodeChina开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频】](https://codechina.csdn.net/m0_60958482/java-p7)**

**首先分享一份学习大纲,内容较多,涵盖了互联网行业所有的流行以及核心技术,以截图形式分享:**

(亿级流量性能调优实战+一线大厂分布式实战+架构师筑基必备技能+设计思想开源框架解读+性能直线提升架构技术+高效存储让项目性能起飞+分布式扩展到微服务架构.........实在是太多了)

[外链图片转存中...(img-w46Hxvxh-1630855888434)]

**其次分享一些技术知识,以截图形式分享一部分:**

Tomcat架构解析:

[外链图片转存中...(img-6EcPma2i-1630855888434)]

算法训练+高分宝典:

[外链图片转存中...(img-N8szUEGy-1630855888435)]

Spring Cloud+Docker微服务实战:

[外链图片转存中...(img-YqqYeTy1-1630855888436)]

**最后分享一波面试资料:**

> 切莫死记硬背,小心面试官直接让你出门右拐

1000道互联网Java面试题:

[外链图片转存中...(img-Sl9IZXsk-1630855888436)]

Java高级架构面试知识整理:

[外链图片转存中...(img-WAq7DRex-1630855888437)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值