gridTemplate

css:display:grid布局

和自甴很熟 提交于 2021-02-10 08:11:06
简介 CSS Grid布局 (又名"网格"),是一个基于二维网格布局的系统,主要目的是改变我们基于网格设计的用户接口方式。如我们所知,CSS 总是用于网页的样式设置,但它并没有起到很好的作用。刚开始的时候我们使用表格(table),然后使用浮动(float)、 定位(position)和内联块(inline-block),但所有这些方法本质上来讲都是hacks,存留了很多需要实现的重要功能问题(例如, 垂直居中 )。虽然 Flexbox 可以起到一定的补救作用,但是它只可以实现简单的一维布局,并不适用于复杂的二维布局(实际上 Flexbox 和 Grid 可以一起结合使用起到最佳效果)。网格是 CSS 第一次专门创建的模块,用来解决我们之前在制作网站时使用hacks处理布局问题。 这里有两件事情启发我创建本指南。第一个是 Rachel Andrew 的令人敬畏的书-- 为 CSS Grid 布局做好准备 。这本书很详尽明确的的介绍了Grid,如果你想很好的掌握Grid的基础知识,我强烈建议你去购买。另外一个很大的灵感来自于 Chris Coyier 的-- Flexbox完整指南 ,这本书是我了解Flebox的一个很优秀的资源。这里,我还想补充一句,当你使用谷歌搜索"flexbox"时,会出现很多类似的资源,但是为什么不直接利用最好的资源呢? 我书写此指南的目的是基于目前最新版本

【CSS】343- CSS Grid 网格布局入门

爱⌒轻易说出口 提交于 2021-02-10 08:10:31
CSS Grid(网格) 布局使我们能够比以往任何时候都可以更灵活构建和控制自定义网格。Grid(网格) 布局使我们能够将网页分成具有简单属性的行和列。 它还能使我们在不改变任何HTML的情况下,使用 CSS 来定位和调整网格内的每个元素。它允许 HTML 纯粹作为内容的容器。 HTML 结构不再受限于样式表现,比如不要为了实现某种布局而多次嵌套,现在这些都可以让 CSS 来完成。 定义一个网格 Grid(网格) 模块为 display 属性提供了一个新的值: grid 。当你将任何元素的 display 属性设置为 grid 时,那么这个元素就是一个 网格容器(grid container),它的所有直接子元素就成了 网格项(grid items)。 让我们创建创建一个 3×3 的布局,做一个 Tic-Tac-Toe (井字游戏) 棋盘。首先,我们将写一些 HTML: HTML 代码: <div class = "game-board" > < div class = "box" > </ div > <div class = "box" > </ div > <div class = "box" > </ div > <div class = "box" > </ div > <div class = "box" > </ div > <div class = "box" >

CSS Grid布局入门

喜欢而已 提交于 2021-02-10 08:10:17
相信大家都比较熟悉flex布局了,最近有空研究了波grid布局,感觉虽然兼容性还不是太高,应用不是太普遍,但是功能非常强大。未来应该是grid+flex为主流,grid是二维布局,很灵活,适合整体构架,而flex是一维布局,适合处理局部细节。 介绍 CSS 网格布局(Grid Layout) 是CSS中最强大的布局系统。 这是一个二维系统,这意味着它可以同时处理列和行,不像 flexbox 那样主要是一维系统。 兼容性目前不是太友好 和felx类似,grid有 容器 和 项目 Grid 容器 属性列表 Grid Container 的全部属性 display grid-template-columns grid-template-rows grid-template-areas grid-template grid-column-gap grid-row-gap grid-gap justify-items align-items justify-content align-content grid-auto-columns grid-auto-rows grid-auto-flow grid Grid 项目 的全部属性 grid-column-start grid-column-end grid-row-start grid-row-end grid-column grid

CSS Grid布局入门

南笙酒味 提交于 2021-02-10 07:50:55
本文转载于: 猿2048 网站 https://www.mk2048.com/blog/blog.php?id=hchh2hj&title=CSS+Grid%E5%B8%83%E5%B1%80%E5%85%A5%E9%97%A8 相信大家都比较熟悉flex布局了,最近有空研究了波grid布局,感觉虽然兼容性还不是太高,应用不是太普遍,但是功能非常强大。未来应该是grid+flex为主流,grid是二维布局,很灵活,适合整体构架,而flex是一维布局,适合处理局部细节。 介绍 CSS 网格布局(Grid Layout) 是CSS中最强大的布局系统。 这是一个二维系统,这意味着它可以同时处理列和行,不像 flexbox 那样主要是一维系统。 兼容性目前不是太友好 和felx类似,grid有 容器 和 项目 Grid 容器 属性列表 Grid Container 的全部属性 display grid-template-columns grid-template-rows grid-template-areas grid-template grid-column-gap grid-row-gap grid-gap justify-items align-items justify-content align-content grid-auto-columns grid-auto-rows

手把手教你grid布局

风流意气都作罢 提交于 2020-12-18 08:56:07
概述 目前css布局方案中,网格布局可以算得上是最强大的布局方案了。它可以将网页分为一个个网格,然后利用这些网格组合做出各种各样的布局。 基本概念 在学习grid布局之前,我们需要了解一些基本概念 1.容器和项目 采用网格布局的区域,称为“容器”。容器内部的采用网格定位的子元素称为“项目” < div class ="wrapper" > < div class ="item" > 1 </ div > < div class ="item" > 2 </ div > < div class ="item" > 3 </ div > </ div > 上面的代码中, wrapper 就是容器, item 就是项目 1.1 行、列和单元格 容器里面的水平区域称为“行”,垂直区域称为“列”,行列重叠出来的空间组成单元格 1.2 网格线 划分网格的线,称为”网格线“ 黄色的代表是列的网格线,绿色代表的是行的网格线 Grid和flex类似,布局的属性都是分为两类,一类定义在容器上,称为容器属性,一类定义在项目上,称为项目属性 2 容器属性 2.1 display属性 display:grid指定一个容器为网格布局 html部分: < div class ="wrapper" > < div class ="item" > 1 </ div > < div class ="item" > 2

CSS背景图片的6个有趣的技巧

孤街醉人 提交于 2020-10-04 06:05:38
背景图像可能是所有前端开发人员在我们的职业生涯中至少使用过几次的CSS属性之一。 大多数人认为背景图片没有什么不寻常的,但是。。。。。。 1.如何将背景图像完美地适合视口 body { background-image : url('https://images.unsplash.com/photo-1573480813647-552e9b7b5394?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=2253&q=80') ; background-repeat : no-repeat ; background-position : center ; background-attachment : fixed ; background-size : cover ; -webkit-background-size : cover ; -moz-background-size : cover ; -o-background-size : cover ; } background-attachment设置背景图像是否固定或者随着页面的其余部分滚动。 2.如何在CSS中使用多个背景图片 body { background-image : url(https://image.flaticon.com/icons

如何使用Grid Layout

十年热恋 提交于 2020-07-29 03:56:55
#如何使用Grid Layout ##前言 CSS Grid Layout是一种栅格布局,随着各大浏览器的兼容,在可应用范围越来越广。很多人就会问能不能代替Flexbox弹性布局?虽然他们有点相似,但值得一提的是他并不能代替Flexbox弹性布局,它可以在复杂的应用场景下与Flexbox弹性布局相辅相成。该属性的理念有点类似以往在网页设计中的栅格布局,如果以前接触过网页的栅格系统会帮助理解CSS Grid Layout。 ##兼容性 截止到20年7月14日,caniuse的兼容图。如图所示: ##应用场景 先来看看应用场景,个人十分推荐它用于大型页面框架构建或者电商中的sku列表摆放。具体可以来看看这两个demo图都附录了源码地址。 Demo 链接 Demo 链接 ##重要属性介绍 ①.display: grid/inline-grid; 需要在包裹子元素的父容器上做出声明,该属性声明为CSS Grid Layout有两种,一种是块状元素display: grid,一种是行内块状元素display: inline-grid。该属性声明后其他属性才会有效。如图所示: Demo 链接 ②.grid-template-areas: none/itemnames; 指定一个序列进行子元素排列 ③.grid-template-rows和grid-template-columns

日常前端知识——响应式布局之强大的css布局 display:grid

ε祈祈猫儿з 提交于 2020-07-27 07:48:14
1.概览 css display中有个属性值是grid,说起来惭愧的是,在长达近2年的开发实操中我极少用到这个属性。在整理响应式布局的我才重新将其拾起。 grid可以说是在我看来css最强大的布局方案之一了,总体而言,他将网页划分为一个个区域,并且可以对这个区域进行任意组合,以达到布局的效果。(之前这些功能都是一些css框架封装好的,现在css也支持了) grid和flex有一定的相似性(我在之前的开发过程中flex的应用率极高。。),但flex更像是一种线性的布局,根据横轴和纵轴的各种配置来达到布局的效果。而grid则是一种二维布局,他利用row(行)和column(列)来分割出不同的二维区域,通过对这些二维区域中的一切(是的,几乎是能想到的一切)进行操作来实现不同的布局。 flex布局 grid布局 从两张图中可以看出,grid更适用于一些多行多列,宽高不等的复杂布局,从布局的功能上来说,grid远比flex强大的多。 2.基本概念 归纳一下grid的布局一些基本概念,一方面是自身对知识进行梳理,一方面也方便文档的通读性。 2.1 容器(Container) 这也是css布局的 传 统 艺 能 了,简单的描述来说他就是应用 display:grid 的元素,同时他也应该是所有项目(item)的直接父元素。 html代码: <div class= "container" >

趋势:flex和grid使布局更简单

a 夏天 提交于 2020-04-26 14:48:26
前言:记不久前面试的时候,面试官问我平时用什么布局方式,我非常耿直的说 div+css,利用position,float等布局,这就是非常传统的布局方式,通常都要写比较多的css代码;前几天在知乎上看到篇文章 前端未来页面布局发展方向是 Flexbox 还是 Grid? flex布局的话,我知道,是css3中引入的,即弹性盒子布局,它的浏览器兼容性如下图。对于grid布局,我才听闻,所以赶紧学习了一下。 查看属性的兼容性可以在这个网站: can I use 一 ,flexbox: 任何一个容器都可以指定为Flex布局,设置 display:flex;设置这个属性之后,子元素的float,clear和vertical-align属性将会失效。 flex容器默认有两根轴:水平的主轴(main axis)垂直的交叉轴(cross axis) 用表格的方式来一目了然的显示它的属性值: 属性名称 属性含义 属性可能的值 定义在容器的属性 flex-direction 决定主轴的方向 row( 默认 ) 水平,起点在左端 row-reverse 水平,起点在右端 column: 垂直,起点在上沿 column-reverse: 垂直,起点在下沿 flex-wrap 决定一条轴线放不下,如何换行 Nowrap( 默认 ) 不换行 Wrap: 换行,第一行在上面 Wrap-reverse: 换行

css布局

依然范特西╮ 提交于 2020-04-15 08:52:38
【推荐阅读】微服务还能火多久?>>> 目录: margin负值实现 祖父和亲爹的里应外合 换个思路 - li生了儿子帮大忙。 借助absolute方位值,实现自适应的网格布局 cloumn多栏布局 grid display: table; css3选择器nth-child() 除非特别说明,以下几种方式的 通用html结构 如下: <div class="box"> <ul> <li>1</li> <li>2</li> <li>3</li> <li>4</li> <li>5</li> <li>6</li> <li>7</li> <li>8</li> <li>9</li> </ul> </div> 除特别说明,布局中用到的 css reset代码 如下: /* 基础 */ .box{ background: #e4f7fd61; border: 2px solid #0786ada1; border-radius: 8px; } ul{ padding: 0; } .box li{ list-style: none; text-align: center; line-height: 200px; background: rgba(146, 203, 230, 0.65); border-radius: 8px; } 方法一、margin负值实现 原理 原理:margin负边距 关键点