(中职)Web前端设计基础 项目十-1电子课件_第1页
(中职)Web前端设计基础 项目十-1电子课件_第2页
(中职)Web前端设计基础 项目十-1电子课件_第3页
(中职)Web前端设计基础 项目十-1电子课件_第4页
(中职)Web前端设计基础 项目十-1电子课件_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、YCF正版可修改PPT(中职)Web前端设计基础 项目十-1电子课件CSS 3创建网格布局项目十授课教师:姓名WEB前端设计基础Contents1.项目描述2.知识准备3.项目实施4.项目拓展5.项目小结6.技能训练一 项目描述本项目学习要点网格项元素属性;创建双飞翼布局。网格布局的术语;网格容器的属性;如何创建网格布局;二 知识准备CSS一直用来布局网页,但一直以来都存在这样或那样的问题。一开始我们用表格(table),然后是浮动(float),再是定位(postion)和内嵌块(inline-block),但是所有这些方法本质上都是只是hack而已,并且遗漏了很多重要的功能(例如垂直居中)

2、。后来,Flexbox在很大程度上改善了布局方式,但它是为了解决更简单的一维布局,而不是复杂的二维布局。Grid布局是专门为了解决二维布局问题而创建的CSS模块,是有史以来最强大的CSS模块之一。二 知识准备网格布局的重要术语;子元素网格项的属性。父元素网格容器属性;网格布局的重要术语1网格容器和网格项网格容器任何应用display属性值为grid的元素就是网格容器,是所有网格项(Grid Items)的父级元素。网格项网格容器(Grid Container)的子元素(例如直接子元素)。网格布局的重要术语1网格容器和网格项【例10-1】创建具有3个子元素的网格容器,代码如下所示(示例文件10-

3、1.html)。网格容器和网格项/*只要display的值为grid,这个元素就是网格容器*/.containerdisplay:grid;第1个网格项第2个网格项第3个网格项网格布局的重要术语2网格线构成网格结构的分界线。它们既可以是垂直的,也可以是水平的,并位于行或列的任一侧,如图所示黄线就是一条列网格线。网格布局的重要术语3网格轨道两条相邻网格线之间的空间。可以把它们想象成网格的列或行。如图所示的第二条和第三条行网格线之间的就是网格轨道。网格布局的重要术语4网格单元格两个相邻的行和两个相邻的列网格线之间的空间。这是网格系统的一个“单元格”。如图所示,第1至第2条行网格线和第2至第3条列网

4、格线交汇构成的就是网格单元格。网格布局的重要术语5网格区域四条网格线包围的总空间。一个网格区域可以由任意数量的网格单元格组成。如图所示,第1条到第3条行网格线和第1条到第3条列网格线之间的就是网格区域。父元素网格容器属性1display属性将元素定义为网格容器,并为其内容建立新的网格格式。display属性值如表所示。Display属性含义grid生成一个块级网格inline-grid生成一个内联网格subgrid表示网格容器本身是另一个网格的网格项(即嵌套网格)父元素网格容器属性1display属性需要注意:在网格容器(Grid Container)上使用column,float,clear

5、,vertical-align不会产生任何效果。.containerdisplay:grid|inline-grid|subgrid;CSS代码格式如下:父元素网格容器属性2grid-template-columns和grid-template-rows属性使用空格分隔的值列表,用来定义网格的列和行。这些值表示网格轨道大小,它们之间的空格表示网格线。属性值为:(1) :可以是长度值、百分比或者等份网格容器中可用空间( fr单位)(2) :可以选择的任意名称.container grid-template-columns: . | .; grid-template-rows: . | .;CSS

6、代码格式如下:父元素网格容器属性【例10-2】创建一个3行5列的网格布局(示例文件10-2.html)。.containerdisplay:grid;height: 300px;grid-template-columns: 40px 50px auto 50px 40px;grid-template-rows: 25% 100px auto;grid-gap: 10px;.container divbackground-color: green;父元素网格容器属性【例10-2】创建一个3行5列的网格布局(示例文件10-2.html)。123456789101112131415在chrome浏览

7、器中预览父元素网格容器属性当在网格轨道(Grid Track)值之间留出空格时,网格线会自动分配数字名称,如图所示。父元素网格容器属性也可以明确的指定网格线(Grid Line)名称,即值,如图所示。父元素网格容器属性请注意网格线名称的括号语法,修改例10-2中的第7-13行。.containerdisplay:grid;height: 300px;background-color: #000;grid-template-columns: first40pxline250pxline3autocol4-start50pxfive40pxend;grid-template-rows: row1-

8、start25%row1-end100pxthird-lineautolast-line;grid-gap: 10px;.container divbackground-color: green;父元素网格容器属性fr单位是指用等分网格容器剩余可用空间来设置网格轨道的大小。例如,下面的代码会将每个网格项设置为网格容器宽度的三分之一。.containergrid-template-columns:1fr 1fr 1fr;剩余可用空间是除去所有非灵活网格项之后计算得到的。在上面的例子中,可用空间总量减去50px后,再给fr单元的值三等分:.containergrid-template-column

9、s:1fr 50px 1fr 1fr;父元素网格容器属性3grid-template-areas属性通过引用grid-area属性指定网格区域名称来定义网格模板。重复网格区域的名称导致内容跨越这些单元格。一个点号(.)代表一个空的网格单元。这个语法本身可视作网格的可视化结构。grid-template-areas属性值如表所示。grid-template-areas属性值含义由网格项的grid-area指定的网格区域名称.(点号)代表一个空的网格单元none不定义网格区域父元素网格容器属性3grid-template-areas属性【例10-3】创建一个4列3行的网格(示例文件10-3.htm

10、l)。.containerdisplay: grid;grid-template-columns: 100px 100px 100px 100px;grid-template-rows: 50px 200px 50px;grid-template-areas:header header header headermain main.sidebarfooter footer footer footer;.item1grid-area: header;background-color:blue; .item2grid-area: main;background-color: yellow;.ite

11、m3grid-area: sidebar;background-color: pink;.item4grid-area: footer;background-color: green;父元素网格容器属性3grid-template-areas属性【例10-3】创建一个4列3行的网格(示例文件10-3.html)。headermainsidebarfooter在chrome浏览器中预览父元素网格容器属性3grid-template-areas属性【例10-3】创建一个4列3行的网格(示例文件10-3.html)。整个顶行将由header区域组成。中间一排将由两个main区域,一个是空单元格,一个

12、sidebar区域组成。最后一行全是footer区域组成。父元素网格容器属性4grid-column-gap和grid-row-gap属性指定网格线(grid lines)的大小,可以想象为设置列和行之间间距的宽度。但只能在列和行之间创建间距,网格外部边缘不会有这个间距。属性值为:长度值。.containergrid-column-gap:;grid-row-gap:;CSS代码格式如下:父元素网格容器属性4grid-column-gap和grid-row-gap属性.containergrid-template-columns:100px 50px 100px;grid-template-r

13、ows:80px auto 80px;grid-column-gap:10px;grid-row-gap:15px;效果如图父元素网格容器属性5justify-items和align-items属性justify-items沿着行轴线对齐网格项内的内容,属性值如表所示。justify-items属性值start将内容对齐到网格区域(grid area)的左侧end将内容对齐到网格区域的右侧center将内容对齐到网格区域的中间(水平居中)stretch填满网格区域宽度(默认值)父元素网格容器属性5justify-items和align-items属性justify-items属性的CSS代码格

14、式:.containerjustify-items:start|end|center|stretch;父元素网格容器属性5justify-items和align-items属性align-items沿着列轴线对齐,属性值如表所示;这两个属性的值适用于容器内的所有网格项。align-items属性值含义示例start将内容对齐到网格区域的顶部end将内容对齐到网格区域的底部center将内容对齐到网格区域的中间(垂直居中)stretch填满网格区域高度(默认值)父元素网格容器属性5justify-items和align-items属性align-items属性的CSS代码格式:.containe

15、ralign-items:start|end|center|stretch;父元素网格容器属性6justify-content和align-content属性justify-content属性使用情况当网格合计大小可能小于其网格容器的大小时,所有网格项都使用像素这样的非灵活单位设置大小的情况下,可以设置网格容器内的网格的对齐方式。此属性沿着行轴线对齐网格,属性值如表所示。justify-content属性值含义示例start将网格对齐到网格容器的左边end将网格对齐到网格容器的右边center将网格对齐到网格容器的中间(水平居中)父元素网格容器属性6justify-content和align-

16、content属性justify-content属性值含义示例stretch调整网格项的宽度,允许该网格填充满整个网格容器的宽度space-around在每个网格项之间放置一个均匀的空间,左右两端放置一半的空间space-between在每个网格项之间放置一个均匀的空间,左右两端没有空间space-evenly在每个栅格项目之间放置一个均匀的空间,左右两端放置一个均匀的空间父元素网格容器属性6justify-content和align-content属性justify-content属性的CSS代码格式:.containerjustify-content:start|end|center|st

17、retch|space-around|space-between|space-evenly;父元素网格容器属性6justify-content和align-content属性align-content属性使用情况:网格合计大小可能小于其网格容器的大小时,所有网格项都使用像素这样的非灵活单位设置大小的情况下,可以设置网格容器内的网格的对齐方式。此属性沿着列轴线对齐网格,属性值如表所示。align-content属性值含义示例start将网格对齐到网格容器的顶部end将网格对齐到网格容器的底部center将网格对齐到网格容器的中间(垂直居中)父元素网格容器属性6justify-content和al

18、ign-content属性align-content属性值含义示例stretch调整网格项的高度,允许该网格填充满整个网格容器的高度space-around在每个网格项之间放置一个均匀的空间,上下两端放置一半的空间space-between在每个网格项之间放置一个均匀的空间,上下两端没有空间space-evenly在每个栅格项目之间放置一个均匀的空间,上下两端放置一个均匀的空间父元素网格容器属性6justify-content和align-content属性align-content属性的CSS代码格式:.containeralign-content:start|end|center|stre

19、tch|space-around|space-between|space-evenly;父元素网格容器属性7grid-auto-columns和grid-auto-rows属性指定任何自动生成的网格轨道(又名隐式网格轨道)的大小。在明确定位的行或列(通过grid-template-rows或grid-template-columns)超出定义的网格范围时,隐式网格轨道被创建了。属性值为:可以是长度值,百分比,或者等份网格容器中可用空间(fr单位).containergrid-auto-columns:.;grid-auto-rows:.;CSS代码格式如下:父元素网格容器属性7grid-aut

20、o-columns和grid-auto-rows属性创建隐式网格轨道,请看以下的代码:.containerdisplay:grid;grid-template-columns:60px 60px;grid-template-rows:90px 90px;这样会生成了一个22的网格。父元素网格容器属性7grid-auto-columns和grid-auto-rows属性使用grid-column和grid-row来定位你的网格项,修改为:.item-agrid-column:1/2;grid-row:2/3;.item-bgrid-column:5/6;grid-row:2/3;父元素网格容器属性7grid-auto-columns和grid-auto-rows属性效果分

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论