当前位置:网站首页 > R语言数据分析 > 正文

grid布局兼容性问题(grid 布局)



记录了我在组内的技术分享, 有同样需求的同学可以参考一下
分享全程下来时间大约 45分钟
最终画图如下:↓

表情.png

一. 到底能不能用在工程??(兼容性)

整体dom结构如下
 
  
固定的样式
 
  
 
  
开启布局时, 我们打开调试模式鼠标悬停在dom上会出现网格
与flex不一样, 单纯的开启布局并不会影响元素的布局,不会压缩抻拉宽高.
 
  

格子.png

grid-template-columns 定义把dom横排分成几份,每份宽度是多少.
横排排列
 
  

横排对齐.png

定义重复的部分
我们想实现如下效果:
重复的类型也可以多样
auto-fill属性 根据设定的宽度,自动填充
技巧跳列
比如我们把横排分为3个格子每个100px, 但是我只放入两个元素, 分别在第1个与第3个格子, 那么我们可以使用一个技巧, 就是中间放一个空元素, 而这个空元素应尽可能小的消耗内存, 那么可以尝试放一个br标签, 当然这种方式不推荐, 布局上会给其他同学造成一些困扰, 代码如下:
 
  

两端.png

fr

我们知道在flex布局里面, 比如我写flex:1, 他代表着在flex布局里面占总份数里面的一份, grid里面也有类似的属性, 而且更加的定制化语义化, 他就是fr.

下面这段代码的意思就是把dom分成5份, 每份就是占一份的宽.

大家瓜分剩余空间
auto

下面设置最小宽与最大宽

 
  
当父级320px宽

4F0B4A83-0DE2-468c-85F7-5F4D807C5ED5.png

当父级200px宽

父级窄.png

 
  

纵横.png

距离产生美, 这么多格子当然需要点距离啦。

固定代码
 
  
添加

航向.png

添加:

纵向.png

当然了,这两个属性可以简写为 或者

大宝.png
给父级一个padding:10px
判定.png




注意: 暂时不支持这样写也就是说不固定的间距需要想别的办法了。

我们可以在画格子的时候, 把间距也当格子画。

格子的定位从横向变为了纵向

 
  

颠倒.png

这里我们就可以解释一下最开始说的对齐方式的原理

第一部分: 网格的位置

 
  
居中
 
  

6EBD59D3-D366-4841-B317-F1C1A6AB207B.png

居右
 
  

右.png

居右下
 
  

右下.png

简洁写法,直接定义两个属性

奇怪的取值范围(重点!)

取值范围:

取值范围:

奇怪的点1:align-content不可以用 left right
奇怪的点2:flex-end这种属性居然有效
奇怪的点3:可以用left right 但是不可以用 top bottom

真是奇奇怪怪没有脑袋。。。。我建议采用这样专属grid的意义更加明确。

第二部分: 单元格的对齐

每个小网格就像是excel的一个单元格, 那么这些单元格的排布方式也很有趣,第一种就整体的排布,第二种是自身的排布。

 
  

大杂烩.png

  1. 前3个收到父级的` align-items:`影响所以上下左右居中。
  2. 第4个自身布局优先级最高, 出现在右下角
  3. 6与7是因为未设置宽高的情况下,设置了属性导致自身是否被拉伸。

填满单元格的宽度(默认值)

通过这里的学习, 我们就能明白最开是的居中方式了, 面试的时候你可以大展身手了。
定义格子从哪里开始, 到哪里结束, 这样可以不用br这种站位标签了.
 
  

乱乱.png
这种写法突然出现 '/'斜线, 我感觉挺不舒服的, 不知道为啥这么设计.

 
  
要注意, 这种布局方式会有计算量的, 我个人不太建议这样玩....

中规中矩的思维没法走的更快, 让我来抛砖引如一下。

 
  

四个角有文章.png
小号.png

坑点: 这四个角有点错乱,你计算好了, 但是其他同学不一定计算的对, 需要把他封装起来.
扩展: 这四个角我们可以放一点花样, 应该挺好看的...

不用写结尾了, 表明站几个就好了, 当然也有row属性可以设置.

也就是说 span 3 意思就是当前位置 往后3个格子都是我的了

八卦.png

有的时候就要直接一点, 这个知识点才是grid的灵魂.

我们照常使用为dom画格子, 然后为每个单元格定义一个名字, 什么名字都可以, 如果用不上的单元格名字就定义为'.', 举个例子如下:

 
  
上面的代码我们可以给内部dom自身一个属性, 那么 dom就会占据最上面四个格子的位置, 简直太直接了, 相当于多了个缩略图.
只能写出'矩形'的方阵, 并且必须是一体的, 俩个'header'不连贯东一个西一个也不会生效.
 
  

可视化.png

别看它简单, 接下来可以做一些有意思的事情了.
我画了一个简易的游戏, 把点击的部位变黑, 当时设想是做最强大脑里面的那个奇偶消融游戏, 但是grid布局有自身的局限后来放弃了, 相关的问题我通过图片展示一下.

游戏.png
游戏变化.png

当我变换小球位置的时候, 前面的小球会补充之前的位置, 导致位置信息不好算了, 当然我们可以把每个小球固定, 然后在上面覆盖一层, 但这样做也没必要用grid布局了.
之前还画了个'大风车'和'八卦图', 就不在这里展示了, 但是我画了个笑脸的代码还是分享给大家把:
 
  
也就是开局那张图, 使用grid的来画这张图简直舒服!!

表情.png

到此这篇grid布局兼容性问题(grid 布局)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • redhat enterprise(redhat enterprise最新版镜像文件dvd下载)2025-09-02 09:18:06
  • redhat-release(redhat-release文件)2025-09-02 09:18:06
  • termux启动docker服务(termux跑docker)2025-09-02 09:18:06
  • swagger使用教程(swagger怎么使用)2025-09-02 09:18:06
  • 电路图gr(电路图grd)2025-09-02 09:18:06
  • jvisualvm分析hprof(jvisualvm分析hprof 查看截断后的)2025-09-02 09:18:06
  • raise过去式过去分词现在分词(raise过去式过去分词现在分词第三人称单数)2025-09-02 09:18:06
  • cors跨域解决方案(cors跨域资源共享解决)2025-09-02 09:18:06
  • scores(scores什么意思)2025-09-02 09:18:06
  • oracle全套教学视频百度云(oracle教程全集)2025-09-02 09:18:06
  • 全屏图片