html5网格布局建站,CSS网格布局的示例代码

news/2024/5/21 0:14:58/文章来源:https://blog.csdn.net/weixin_39817122/article/details/117891017

本文介绍了CSS网格布局的示例代码,分享给大家,具体如下:

浏览器兼容性

fb90d9ea22a32b348fc4ce6e3a978406.png

可以看出CSS网格布局从Safari 10.1, Firefox 52, Chrome 60,Edge 15开始受到支持。

网格布局

页面基本元素:

One
Two
Three
Four
Five

样式:

.wrapper {

border: 2px solid #f76707;

border-radius: 5px;

background-color: #fff4e6;

}

.box {

border: 2px solid #FDC180;

}

通过在元素上声明 display:grid 或 display:inline-grid 来创建一个网格容器:

.wrapper {

display: grid;

}

如下效果:

aa27ea6e45e8ff76dd25d27f9dfe7162.png

定义网格中的行和列

通过 grid-template-columns和grid-template-rows属性来定义网格中的行和列。这些属性定义了网格的轨道。网格轨道是网格中任意两条线之间的空间。

如下网格,包含了三个200像素宽的列轨道:

.wrapper {

display: grid;

grid-template-columns: 200px 200px 200px;

}

a083674b5975bb0dc82e6563c22947b0.png

fr单位

新的fr单位代表网格容器中可用空间的一等份。下一个网格定义将创建三个相等宽度的轨道,这些轨道会随着可用空间增长和收缩。

.wrapper {

display: grid;

grid-template-columns: 1fr 1fr 1fr;

}

0aa3d3c31eab29c90a0ba6937f84759f.png

也可以和像素单位混用:

.wrapper {

display: grid;

grid-template-columns: 500px 1fr 2fr;

}

a3891ef6fe5b8000c76b7a09d937fff7.png

在轨道清单中使用repeat()

repeat 的语法如下:

repeat(number of columns/rows, the column width we want);

有着多轨道的大型网格可使用 repeat() 标记来重复部分或整个轨道列表。如下方的网格定义:

.wrapper {

display: grid;

grid-template-columns: 1fr 1fr 1fr;

}

可以写成:

.wrapper {

display: grid;

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

}

Repeat 语句可以用于重复轨道列表中的一部分。在下面的例子中我创建了一个网格:它起始轨道为20像素,接着重复了6个1fr的轨道,最后再添加了一个20像素的轨道。

.wrapper {

display: grid;

grid-template-columns: 20px repeat(6, 1fr) 20px;

}

Repeat 语句可以传入一个轨道列表,因此你可以用它来创建一个多轨道模式的重复轨道列表。在下一个例子中,网格将有共计10个轨道,为1个1fr轨道后面跟着1个2fr轨道,该模式重复5次。

.wrapper {

display: grid;

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

}

grid-auto-rows 和 grid-auto-columns

创建上文中网格例子的时候,我们用 grid-template-columns 属性定义了自己的列轨道,但是却让网格按所需的内容创建行,这些行会被创建在隐式网格中。显式网格包含了你在 grid-template-columns 和 grid-template-rows 属性中定义的行和列。如果你在网格定义之外又放了一些东西,或者因为内容的数量而需要的更多网格轨道的时候,网格将会在隐式网格中创建行和列。按照默认,这些轨道将自动定义尺寸,所以会根据它里面的内容改变尺寸。

可以在隐式网格中用 grid-auto-rows 和 grid-auto-columns 属性来定义一个设置大小尺寸的轨道。

在下面的例子中我们用 grid-auto-rows 属性来确保在隐式网格中创建的轨道是200像素高。

.wrapper {

display: grid;

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

grid-auto-rows: 200px;

}

3d5dd21c1256356eaa819f3f3f4de1c7.png

minmax()

在设置一个显式的网格或者定义自动创建的行和列的大小的时候,我们也许想给网格一个最小的尺寸,但要确保他们能扩大到容纳他里面添加的内容。举个例子,我想让我的行的高度永远不会缩小到100像素以下,但是如果我的内容延伸到300像素高了我想让我的行高也延伸到这个高度。

网格用minmax()函数来解决这个问题。在下一个例子中我用minmax()作为grid-auto-rows的值。自动创建的行高将会是最小100像素,最大为auto。用auto意味着行的尺寸将会根据内容的大小来自动变换:根据本行中最高的单元,把空间扩展到足够容纳该单元。

.wrapper {

display: grid;

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

grid-auto-rows: minmax(100px, auto);

}

One
Two

I have some more content in.

This makes me taller than 100 pixels.

Three
Four
Five

2a9a30a71682b054c68d22e26e00484e.png

跨轨道放置网格项目

如下有四条纵向的网格线和三条横向的网格线:

0f4411826c1c29812f02479c5f9004c1.png

使用了grid-column-start, grid-column-end, grid-row-start 和 grid-row-end 属性,把前两个元素放到了我们的三列网格中。从左至右,第一个元素从列线1开始,延伸至列线4,也就是我们这个例子中最右边的列线。并从行线1延伸到行线3,占据了两个行轨道。

第二个元素从列线1开始,延伸了一个轨道。因为这是默认行为,所以我不用指定结束线。并且它从行线3到行线5,跨越了两个行轨道。剩下的元素会把自己安放到网格空余的空间中。

.wrapper {

display: grid;

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

grid-auto-rows: 100px;

}

.box1 {

grid-column-start: 1;

grid-column-end: 4;

grid-row-start: 1;

grid-row-end: 3;

}

.box2 {

grid-column-start: 1;

grid-row-start: 3;

grid-row-end: 5;

}

3aabbd326e84427c259b75c792ee4bf4.png

网格间距

在两个网格单元之间的 网格横向间距 或 网格纵向间距可使用 grid-column-gap 和 grid-row-gap 属性来创建,或者直接使用两个合并的缩写形式 grid-gap。在下面的例子中,我会创建一个横向间距为10px、纵向间距为1em的网格元素。

a776418b9ab7de06617a90ea07244a08.png

嵌套网格

一个网格项目可以也成为一个网格容器。在接下来的例子中我事先有了一个3列的网格元素,并有两个跨轨道的网格。在这个例子中,第一个网格项目含有几个子级项目。当这些项目不是网格容器的直接子级元素时,它们不会参与到网格布局中,并显示为正常的文档流。

html:

a
b
c
Two
Three
Four
Five

css:

.wrapper {

display: grid;

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

}

.wrapper {

border: 2px solid #f76707;

border-radius: 5px;

background-color: #fff4e6;

}

.box1 {

grid-column-start: 1;

grid-column-end: 4;

grid-row-start: 1;

grid-row-end: 3;

}

.box2 {

grid-column-start: 1;

grid-row-start: 3;

grid-row-end: 5;

}

.box {

border: 2px solid #FDC180;

background: #FFD7A4;

padding: 10px;

color: #FB2E10;

}

.nested {

border: 2px solid #FFF1A2;

background: #FFFAD9;

}

7978af9190064b25cb46459067ffa594.png

如果我把 box1 设置成 display: grid 我可以给它定义轨道然后它也会变成一个网格元素,它的子级元素也会排列在这个新网格元素中。

.box1 {

grid-column-start: 1;

grid-column-end: 4;

grid-row-start: 1;

grid-row-end: 3;

display: grid;

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

}

26e2f9e658d0ac0d52d80580457d5999.png

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_722862.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

访问不了_浏览器访问不了网站??

话说,总有一些时候就是见鬼了,电脑死活上不去网~最神的操作是“重启”,十有八九会解决滴。but,如果遇到你的电脑QQ啥的还能上网,唯独浏览器(部分以前可以上的去的网站)不好使,那么你应该会百度,…

iis html asp,IIS 部署 ASP.NET 网站

1. 安装 IIS从控制面板中选择“程序和功能”,选择“打开或关闭 Windows 功能”:image_1ceiq3spb1v20r806r61huh2an9.png-156.3kB将 IIS 的选项全部勾选,需要展开子级目录一个一个点,最后的状态需要为勾选状态:image_1c…

禁止查看js文件_robot文件在网站中的重要作用

大家都知道搜索引擎通过蜘蛛爬行来搜索抓取信息,robot.txt文件就是和蜘蛛交流的文件,很多人都会说介绍要怎么让蜘蛛来爬行,却很少人知道可以用robot.txt去操控蜘蛛,robot.txt用得好的话蜘蛛可以为你所用。Robots.txt是网站管理员创…

ajax url 路径怎么写_怎样编写站内的SEO——URL

这期的分享我们接着说站内SEO中的URL。一、什么是URL?URL (Uniform Resource Locator), 通常称为“web地址”,也就是我们常说的“link,链接”,是用户可读的文本,旨在替换计算机与服务器通信时使用的数字(IP地址)。URL由…

简单的物流管理网站制作源码_清远专业制作搬运公司企业网站 | 980元做一个物流搬运公司企业网站...

企业网站设计开发过程中有很多的原则。一个好的网站,设计是非常重要的,如果设计的不能吸引用户,也满足不了用户的需求,那么这个网站之前所做的努力都白费了,我们就只知道不要犯一些基本的错误,那么这个网站…

华为抓取错误日志在哪里_网站日志数据分析教程

网站日志的数据分析主要是使用相关工具进行,工具类型也有很多。网页版可以用拉格好(www.loghao.com),桌面版可以用爱站或者光年,也可以使用shell分析日志。。。分析日志的作用有很多,可以概括几点:1.了解蜘蛛对页面的抓…

HTML个人网站设计(源码)

关于前端,我觉得我是没有太多发言权的,毕竟本身对于设计这一方面并不是太感兴趣,但是学了几天吧,觉得也就这回事,考量的还是数学功底居多,前期很简单,后期的话,制作一些比较由难度的动画效果还是…

ckks方案优化最好的_如何更科学的进行SEO优化?保持排名稳定

网站SEO优化服务,常常被站长们称之为搜索引擎优化,为的是让网站参与关键词排名,获取大量展现和点击咨询,SEO让网站推广宣传变得有迹可循。一、科学制定网站SEO优化方案的前提网站在进行优化之前做好相关的优化方案对后期优化的开展…

seo查询工具源码_怎么查询网站是否被黑,查询网站是否被黑,被恶意污染的方法...

什么是网页挂马 网页挂马是指恶意攻击者攻击WEB网站后,在网页中嵌入一段代码或脚本,用于自动下载带有特定目的木马程序,而恶意攻击者实施恶意代码或脚本植入的行为通常称为“挂马”。 什么是SEO暗链 SEO暗链是SEO黑帽手法中相当普遍的一种手段…

php论坛有哪些_公司网站制作的方式和流程有哪些

每一个企业,务必有自身的网站,这就等同于是一张个人名片,是让他人认识你的必需方式。公司网站制作前,必须搞搞清楚,建网站的目地是啥,吸引住访问者的兴趣爱好点是啥,总体目标不可以设定过多&…

旅游网站的网页设计代码_深圳网页设计公司|高端网页设计【尼高网站设计】...

我们在网页设计前要考虑的比较多,除了网站的定位和目标,还有重要的市场。今天深圳尼高网站设计公司就简单的从线框设计来讲解一下对其他的影响。 我们创造任何产品的最终目的,也是最重要的目标是做到这一点,并使其满足用户的需求并…

wap建站程序源码_织梦程序搭建网站实例教程,想尝试搭建网站的朋友赶紧保存了...

在昨天跟大家分享了一个完整的个人网站搭建流程,对建站好奇的朋友不妨看看,但是有网友留言还是太复杂了,今天就以我的个人网站为例,跟大家说说一个网站是怎么上传上线的吧!域名的注册申请我是在2019年12月22日在阿里云…

url 收录工具_百度收录网站的必知技巧

解决百度收录的问题,是SEO职业的工作者最为头疼的一件事情。无论文章发布的觉得多有质量都不一定收录,而没有收录何谈排名,下面我们看解决百度收录的核心技巧。百度收录网站有一定的特性,也有一些我们常遇见的问题。但这里面有些能…

img加载本地图片_网站图片加载,尽享顺畅丝滑!

今家介绍如何让图片优雅地显示起初打开一篇文章加载动画很久下面的演示仅是因为浏览器已缓存实际第一次访问页面时须等待许久实际上我只是想要页面加载动画并不希望等待网页图片全部加载于是我想到了图片懒加载功能什么是图片懒加载?当打开一个页面时,只…

python提取word指定行的文字_PDF转WORD格式,提取图片中的文字,一个网址完美搞定!关键是免费!!!七教网站长亲测可用,推荐给大家!!...

昨天晚上,七教网教师朋友群里有老师咨询PDF格式转换成WORD格式的软件。当然有。既然老师们有需求,我一定全力帮助!转换的软件有很多,WPS 也有自带,只是需要花钱购买会员。既然不花钱就能搞定,何必去花钱呢。…

网站改版的需要注意的几个要点

http://www.williamlong.info/archives/2204.html改版,是一个问题。越来越多互联网公司产品人员意识到这个问题,无论是豆瓣的改版,还是Facebook的改版都遭到了用户的疯狂抵制。和传统1.0网站相比,2.0网站用户的力量被无限放大&…

分享30个最新的单页网站设计案例

单页网站是指只有一个页面的网站,这种形式的网站曾经非常流行,现在依然有很多人喜欢。不过,并不是每个网站都适合做成单页,一般都是内容比较少而且将来内容也不怎么增加的情况才适合这样做。如果你打算做一个这样的网站&#xff0…

宝塔面板网站一打开cpu百分百_软卓学堂 | 从购买服务器和域名到搭建网站

◆ ◆ ◆ ◆从购买服务器和域名到搭建网站◆ ◆ ◆ ◆使用工具:Xshell终端模拟器:Xshell是一个终端模拟软件,而且是远程近程都可以。就是模拟服务器所在的linux,在xshell中可以输入命令,就像在服务器的linux中输入命令…

ASP.NET MVC模型绑定的6个建议,徐汇区网站设计

ASP.NET MVC中的Model Binding使用起来非常简单。你的Action方法需要数据,在传入的HTTP请求中携带着你需要的数据,数据可以在请求的表单数据中,还可能在你的URL地址本身中。通过DefaultModelBinder,可以神奇地将表单中的数据和路由…

linux apache tomcat 配置域名,Apache+Tomcat 同一IP多域名多网站配置

最近帮人用ApacheTomcat在同一台IP的服务器上设置多域名指向不同网站站点,花费了不少的时间。尤其是配置信息的时候,从网上找的资料有很多是错误的,误认不浅。所以今天特意把它记下来,以备后面使用。首先说一下我的需求是这样&…