网格布局 grid

推荐阅读:http://www.ruanyifeng.com/blog/2019/03/grid-layout-tutorial.html

1. 启动网格布局

div {
  display: grid;
}

启动后,子元素的floatdisplay: inline-blockdisplay: table-cellvertical-aligncolumn-*等设置都将失效

2. 行列高度

div {
    display: grid;
    grid-template-columns: 50px 100px 150px;
    grid-template-rows: 150px 100px 50px;
    /** 等效于 50px 50px 50px  **/
    grid-template-columns: repeat(3, 50px);
    /** 根据父容器,尽可能填充100px的子元素 **/
    grid-template-columns: repeat(auto-fill, 100px);
    /** 提供新单位fr, 表示第一列的宽度为150像素,第二列的宽度是第三列的一半 **/
    grid-template-columns: 150px 1fr 2fr;
    /** minmax 表示第三列宽度范围100px~1fr **/
    grid-template-columns: 1fr 1fr minmax(100px, 1fr);
    /** 表示由浏览器自己决定长度 **/
    grid-template-columns: 100px auto 100px;
    /** 给网格线起名字 **/
    grid-template-columns: [c1] 100px [c2] 100px [c3] auto [c4];
}

3. 网格间隔

div {
    grid-row-gap: 10px;
    grid-column-gap: 15px;
    grid-gap: <grid-row-gap> <grid-column-gap>;
}

4. 选择区域布局

<div>
  <div class="item-1">1</div>
  <div class="item-2">2</div>
  <div class="item-3">3</div>
</div>

<style>
div {
    display: grid;
    grid-template-rows: repeat(3, 50px);
    grid-template-columns: repeat(3, 50px);
    grid-template-areas: ". a a" "b a a" ". c c";
    grid-gap: 10px;
}
div div {
    border: 1px solid #000;
}
.item-1 {
    grid-area: a;
}
.item-2 {
    grid-area: b;
}
.item-3 {
    grid-area: c;
}
</style>      

效果图:

原文地址:https://www.cnblogs.com/amiezhang/p/11531519.html

时间: 2024-11-02 05:00:42

网格布局 grid的相关文章

网格布局 grid(1)

目录 网格布局 grid(1) 实现方式 对容器设置的属性 行高与列宽的设置 单元格的间距 内容的位置 表格在容器的位置 兼容问题 网格布局 grid(1) 实现方式 display:grid 也可成为行内元素 display:inline-grid tip:设为网格布局以后,容器内的子元素的 float . display:inline-block/table-cell , vertical-align 和 column-*等 各项设置属性都将失效 对容器设置的属性 行高与列宽的设置 grid

CSS多列布局Multi-column、伸缩布局Flexbox、网格布局Grid详解

新css属性为我们提供了更加便捷的网页布局方式.来自微软的thomas lewis将带你认识去Grid Alignment,Flexibox Box以及Multi-column Layout这三大领域. 这篇文章最早出现在the April 2012 issue (226)这期的.net杂志上-这杂志是面向网页设计者以及开发者,全球销量最高的杂志. 按照以往来说,用CSS来布局看起来总是一样非常繁杂的工作.然而,随着一个个新标准的推出,网页设计者已经能够实现非常轻松地进行布局工作了. 主流的浏览

CSS3 网格布局(grid layout)基础知识 - 隐式网格自动布局(grid-auto-rows/grid-auto-columns/grid-auto-flow)

网格模板(grid-template)属性及其普通写法(longhands)定义了一个固定数量的轨道,构成显式网格. 当网格项目定位在这些界限之外,网格容器通过增加隐式网格线生成隐式网格轨道. 这些隐含的和显式的网格线一起构成隐式网格(implicit grid). 隐式网格轨道的尺寸由网格自动行(grid-auto-rows)和网格自动列(grid-auto-columns)属性来确定. 网格自动流(grid-auto-flow)属性用来控制无明确位置的网格项的自动定位(auto-placem

一个简单的响应式横向网格布局框架Responsive Grid System

网页设计中有一个怎么也绕不开的问题,那就是布局问题.一般来说,一个div可能会分割成很多部分,同样是横向分割成两部分,但是在不同的项目中,我们可能会用不同的css代码,网格系统其实就是为这一类似的问题提供一个统一的解决办法. 网格布局有很多,但是有很多非常复杂,往往无法二次开发.Responsive Grid System是国外的一个网站,他们提供了一种非常简单的实现.其实每一个前端开发人员都可以写出这样的框架,但是,从头开始也许会让很多人动力不足.这个框架代码很简单,对我而言,采用它的原因仅仅

python之tkinter使用-Grid(网格)布局管理器

1 # 使用tkinter编写登录窗口 2 # Grid(网格)布局管理器会将控件放置到一个二维的表格里,主控件被分割为一系列的行和列 3 # stricky设置对齐方式,参数N/S/W/E分别表示上.下.左.右 4 # columnspan:指定控件跨越多列显示 5 # rowspan:指定控件跨越多行显示 6 # padx.pady分别设置横向和纵向间隔大小 7 8 import tkinter as tk 9 10 root = tk.Tk() 11 root.title("请登录&quo

Grid网格布局

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>网格布局</title> <style> .container { display: grid; grid-template-columns: 100px 100px 100px 100px 100px: grid-template-rows: 100px 100px 100px 10

网格布局之grid

1 <!DOCTYPE HTML> 2 <!DOCTYPE html> 3 <html> 4 <head> 5 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 6 <title> 7 网格布局 8 </title> 9 <link rel="stylesheet" hre

CSS网格布局(Grid)教程

一.概述 CSS网格布局(Grid)是一套二维的页面布局系统,它的出现将完全颠覆页面布局的传统方式. 首先来介绍几个概念: 想象一个三行三列的布局,网格线就是构成网格所有的线条,三行三列的布局每行就会有4条网格线. 网格轨道就是相邻两条平行的网格线之间的部分. 和flex布局一样,他会有父容器和子项目,在这儿我们称为网格容器和网格项. 接下来,我们从网格容器到网格项的各个基本属性来介绍网格布局. 二. 网格容器 将属性 display 值设为 grid 或 inline-grid 就创建了一个网

CSS Grid 网格布局教程

一.概述 网格布局(Grid)是最强大的 CSS 布局方案. 它将网页划分成一个个网格,可以任意组合不同的网格,做出各种各样的布局.以前,只能通过复杂的 CSS 框架达到的效果,现在浏览器内置了. 上图这样的布局,就是 Grid 布局的拿手好戏. Grid 布局与 Flex 布局有一定的相似性,都可以指定容器内部多个项目的位置.但是,它们也存在重大区别. Flex 布局是轴线布局,只能指定"项目"针对轴线的位置,可以看作是一维布局.Grid 布局则是将容器划分成"行"