一种新的自适应布局方式 display:grid

分享一种新的布局方式,display: grid,用来解决一些卡片统计等布局问题,例如

达成这种卡片布局的效果,使用grid布局只要三行代码就能搞定
上代码

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>display: grid 的使用</title><style>.box {width: 1600px;margin: 50px auto;height: 100px;display: grid;grid-template-columns: repeat(4,1fr);grid-column-gap: 80px;}.box div {border-radius: 4px;box-shadow: 2px 2px 5px #ccc;background: orange;}</style>
</head>
<body><div class="box"><div></div><div></div><div></div><div></div></div>
</body>
</html>

效果图(复制代码可查看)

而实现这种效果只需要三行主要代码

display: grid;
grid-template-columns: repeat(4,1fr);
grid-column-gap: 80px;

grid 主要属性:

属性 作用 参数
grid-template-columns 给grid元素内的子元素设置每行的限制和样式 像素 / fr / repeat
grid-template-rows 给grid元素内的子元素设置每列的限制和样式 像素 / fr / repeat
grid-row-gap 给grid元素内的子元素设置行间距 像素 / 百分比
grid-column-gap 给grid元素内的子元素设置列间距 像素 / 百分比
grid-gap grid-column-gap和grid-row-gap的合并简写形式 grid-gap: grid-row-gap grid-column-gap
justify-items 子元素单元格内容的水平位置 start(左) / end(右) / center(中) / stretch(拉伸)
align-items 子元素单元格内容的垂直位置 start(上) / end(下) / center(中) / stretch(拉伸)
place-items align-items属性和justify-items属性的合并简写形式 place-items: align-items justify-items

1.fr:将子元素平均分成一样的长度或宽度,比如两列的宽度分别为1fr和2fr,就表示后者是前者的两倍
2.repeat:是一个函数,接受两个参数,第一个参数是重复的次数(本例中是4),第二个参数是所要重复的值,重复某种模式也是可以的
     比如:repeat(2, 1fr 2fr 1fr)

在本例中只使用了 grid-template-columns 和 grid-column-gap,定义了一行展示4个子元素,每个子元素长度平均分,间距80px
还有一些特殊属性表格中没有列出,只要掌握表格中的属性就可以简单的搭建出一些样式,就这样吧

css 布局之 display:grid相关推荐

  1. CSS布局 ——从display,position, float属性谈起

    页面布局,或者是在页面上做些小效果的时候经常会用到 display,position和float 属性,如果对它们不是很了解的话,很容易出现一些莫名其妙的效果,痛定思痛读了<CSS Master ...

  2. 前端学习——CSS布局

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.正常布局流 `display`属性 弹性盒子(Flexbox) Grid布局 浮动 定位技术 前言 提示:这里可以 ...

  3. 【CSS布局】gird布局和flex布局

    今天主要回顾一下CSS布局相关的问题 CSS CSS 是用来指定文档如何展示给用户的一门语言--如网页的样式.布局.等等. CSS布局 正常布局流 正常布局流 (normal flow) 是指在不对页 ...

  4. GFC?一篇管饱(display:grid)

    GFC GFC全称是**gridLavoutformatting context.**他就是网格布局格式上下文,是用于布局网格容器的一-块渲染区域. 其实把display设置为grid后,这个盒子就成 ...

  5. css Table布局:基于display:table的CSS布局

    两种类型的表格布局 你有两种方式使用表格布局 -HTML Table(<table>标签)和CSS Table(display:table 等相关属性). HTML Table是指使用原生 ...

  6. css grid 自动高度_前端面试题:关于CSS布局

    金三银四求职季 各位同学面试是否顺利呢? 在这关键时刻 小狮送上前端面试题一份 有用就赶紧收藏起来吧!!! 1 Q:三栏布局,高度已知,左右两栏固定,中间自适应的三栏布局有几种实现方式,各自的优缺点是 ...

  7. html中grid布局,CSS:玩转grid布局

    grid介绍 针对于Web布局而言,个人认为Grid布局将是Web布局的神器,它改变了以往任何一种布局方式或者方法.不管以前的采用什么布局方法都可以说是一维的布局方式,而Grid最大的特色,是一个基于 ...

  8. display:grid 布局实现两行两列

    display:grid 布局实现两行两列,如图效果: 下面展示一些 内联代码片. // A code block div容器部分 // An highlighted block<div cla ...

  9. CSS布局—网格布局Grid(一)

    CSS网格可以定义由行和列组成的二维布局,然后将元素放置到网格中.有些元素可能只占据网格的一个单元,另一些元素则可能占据多行或多列.网格的大小既可以精确定义,也可以根据自身内容自动计算.你既可以将元素 ...

最新文章

  1. 手语识别 机器学习_机器学习入门实践,让机器识别一只猫
  2. opencv_contrib编译失败解决方法
  3. Object-C与Swift混合开发
  4. JAVA面向对象为啥return实参,Java面向对象编程(OOP)
  5. 简单易懂的自动驾驶科普知识
  6. Linux 内核完成接口
  7. LeetCode 326. 3的幂
  8. 帝国cms模板仿后台登录界面
  9. python win32转pdf 横版_python实现word转pdf
  10. printf的缓存问题
  11. 关于TLS升级的问题
  12. 从零开始webpack搭建项目
  13. 一台计算机固定一个ip地址,两台电脑如何分享一个固定的IP地址
  14. 联想19/20财年录得强劲的营业额 税前利润创历史新高 力克挑战,勇攀高峰
  15. (3/3) 在 Cocos creator 中使用 steam api , steam 成就
  16. 游戏外挂,其实是一门网络技术
  17. 整蛊系列——使小伙伴的电脑自动关机
  18. ml-agent:Win10下环境安装
  19. 郑捷《机器学习算法原理与编程实践》学习笔记(第六章 神经网络初步)6.2 BP神经网络...
  20. 【清橙 A1206】小Z的袜子(莫队算法)

热门文章

  1. Python实战 | 滑块拼图验证码高级版详解
  2. ESP32 入门笔记07: ESP-NOW (ESP32 for Arduino)
  3. ISAKMP - 安全关联协商
  4. Ubuntu16.04下的Opencv安装与使用
  5. 如何解决MicrosoftOffice无法登录的问题?
  6. Android 判断当前设备是手机还是平板的最有效的方法
  7. 外呼系统智能录音外呼和智能外呼
  8. uniapp 微信小程序监测网络
  9. 《关于IT行业的发展》
  10. 【我的OpenGL学习进阶之旅】收集到的关于如何在OpenGL ES上使用MSAA(Multisample Anti-aliasing)实现抗锯齿效果的资料和源码