版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
HTML5+CSS3+JavaScript网页设计与制作项目教程项目1网页布局与元素的精确定位——CSS+DIV应用目录ENTERPRISEOPERATIONREPORT04.总结提升03.知识链接02.学习目标01.项目导入项目导入PART01项目导入【项目导入】“旅行家——住宿”页面效果展示CSS+DIV可实现丰富的页面布局及美化。在进行网页页面实现时,我们通常使用盒子模型的定位属性布局页面,同时使用盒子模型的边框及背景属性美化页面。本章我们将使用CSS+DIV制作“旅行家——住宿”页面,案例完成效果如图4.1所示。学习目标PART02知识目标能力目标理解盒子模型的基本概念,熟悉盒子模型的基本属性及高级属性掌握盒子的浮动属性了解文档流的概念,掌握盒子模型定位方法掌握HTML元素的类型及其转换方法能够布局网页基本框架能够灵活运用盒子模型设计并制作网页模块知识链接PART03一、盒子模型及其基本属性1、盒子模型简介我们通常所说的盒子模型,是指将HTML中的元素看成一个矩形容器。我们通过实际生活中的手机盒子来类比CSS盒子模型,以便于更好理解盒子模型的概念,如图4.2所示:
对于一个CSS盒子,其实际占据的宽高计算方法如下:总宽度=width+左右内边距之和+左右边框宽度之和+左右外边距之和总高度=height+上下内边距之和+上下边框宽度之和+上下外边距之和一、盒子模型及其基本属性2、DIV结构及其基本属性在HTML中,我们使用div标记来表示一个盒子,其基本语法格式为:<div属性=”属性值”>文本内容</div>盒子模型的基本属性包括盒子的宽高、边框、内边距、外边距,盒子模型的基本结构如图4.3所示:
(1)width/height:指盒子内容部分的宽/高,其属性值可以px为单位,也可以是百分比形式,用来表示其宽度所占其父对象的比例。(2)border:用来设置盒子的边框属性,其属性如表4.1所示:一、盒子模型及其基本属性样式属性属性说明属性值border-width设置边框的宽度(粗细)px(像素值)border-style设置边框的样式(线型)none(默认)、solid(单实线)、dashed(虚线)、dotted(电线)、double(双实线)、groove(3D凹槽)、ridge(菱形边框)、inset(3D凹边)、outset(3D凸边)border-color设置边框的颜色颜色词、十六进制颜色码、rgb值border设置综合边框属性border:宽度样式颜色;border-radius设置圆角边像素值、百分比border-image设置图片边框border-image:路径裁剪方式/边框宽度/边框扩展距离重复方式;表4.1边框属性一、盒子模型及其基本属性例4-1边框的基本属性(代码略)例4-2圆角边(代码略)一、盒子模型及其基本属性border-image用来设置图片边框,其复合写法语法格式如下border-image:sourceslicewidthoutsetrepeat|initial|inherit;图片边框的属性也可分为一下几个属性分别设置,具体如表4.2表4.2border-image图片边框属性属性名称描述border-image-source用在边框的图片的路径。border-image-slice图片边框向内偏移。border-image-width图片边框的宽度。border-image-outset边框图像区域超出边框的量。border-image-repeat图像边框是否应平铺(repeated)、铺满(rounded)或拉伸(stretched)。一、盒子模型及其基本属性例4-3图片边框(代码略)
图4.6例4-3素材图图4.7图片边框裁切属性原理图4.8图片边框超出属性原理一、盒子模型及其基本属性(3)padding/margin:用来设置盒子内/外边距的宽度,其属性值是一个像素值也可使用auto属性自动设置边距。可以将边距设置为同样的值,也可将边距分四个方向设置为不同的值。其语法格式如下:padding/margin:边距值padding/margin:上下边距值左右边距值padding/margin:上边距值左右边距值下边距值padding/margin:上边距值右边距值下边距值左边距值
一、盒子模型及其基本属性例4-4内边距及外边距(代码略)1.box-shadow属性box-shadow属性用于给盒子添加阴影效果,其语法格式如下:box-shadow:水平阴影垂直阴影模糊半径扩展半径阴影颜色阴影类型
box-shadow属性有6个属性值,其具体含义如表4.3所示。表4.3box-shadow属性值二、DIV高级属性属性值说明水平阴影必需,水平阴影的位置。像素值垂直阴影必需,垂直阴影的位置。像素值模糊半径阴影模糊的范围。像素值扩展半径阴影的宽度。像素值,不可为负值阴影颜色CSS颜色规则阴影类型outset(默认)外阴影,inset内阴影例4-5盒子阴影(代码略)二、DIV高级属性2.box-sizing属性 默认状态下,盒子模型的宽高指的是盒子中内容部分的宽高,盒子实际所占宽高是内容宽高加上边框以及内外边距的长度。在网页设计是,繁琐的计算不符合人们的思维习惯,我们可以使用CSS3的box-sizing属性,修改盒子宽高的计算规则,定义盒子的宽高是否包含边框及内外边距。box-sizing的语法格式如下:box-sizing:content-box/border-box;box-sizing有两个可选属性值,其中content-box是我们默认状态下的盒子,这种状态下设置盒子的宽高指的是内容部分的宽高;border-box状态下设置盒子的宽高指的是盒子边框(包含边框)以内的宽高,也就是内容与边框以及边距的总和。下面以例4-6展示content-box与border-box的不同。二、DIV高级属性例4-6box-sizing属性(代码略)二、DIV高级属性3.background属性在CSS中,我们可以通过background属性设置盒子的背景,我们不仅可以设置盒子的背景颜色,也可以选用图片作为盒子的背景。background属性包含以下几个属性,几个属性可单独使用,也可以用background属性综合设置背景样式,具体如表4.4所示:表4.4background属性二、DIV高级属性属性说明background-color规定要使用的背景颜色。background-image规定要使用的背景图像。background-position规定背景图像的位置。background-size规定背景图片的尺寸。background-repeat规定如何重复背景图像。background-origin规定背景图片的定位区域。background-clip规定背景的绘制区域。background-attachment规定背景图像是否固定或者随着页面的其余部分滚动。background综合设置背景样式。(1)background-color:背景颜色background-color属性可以用来设置盒子的背景颜色,其属性值可以是一个代表颜色的英文单词,也可以使用rgb值或十六进制颜色值,其语法格式如下:background-color:rgb/rgba/十六进制颜色值;其中,rgba值可将背景颜色设置为带有透明度的颜色。设置背景透明度有两种方式,具体如下:
RGBA模式:RGBA是CSS3新增颜色模式,该模式在RGB模式上增加了一个参数alpha用来设置颜色的透明度,其写法为rgba(r,g,b,alpha)。alpha参数值可设置成为一个0-1之间的值,值越小颜色的透明度越高,当值为0时,代表颜色完全透明,值为1时,代表颜色完全不透明。
opacity属性:在CSS3中,使用opacity属性可以设置元素的透明度,其属性值和RGBA模式中alpha参数的取值方法相同。二、DIV高级属性例4-7背景颜色设置(代码略)二、DIV高级属性(2)background-image:背景图片background-image属性可以用来设置盒子的背景图片,其属性值是图片的url地址。background-image:url(图片路径);(3)background-position:图片位置bacround-position属性用来设置背景图片的位置,属性只有多种设置方法。background-position:xposypos|x%y%|预定义关键字;其中:
xposypos:使用不同单位的值来定义图片的左上角的水平位置和垂直位置,最常用的单位是px,如果仅设置一个值,第二个值默认为50%。
x%y%:使用百分比定义图片左上角的水平位置和垂直位置,0%0%代表与左上角对齐,50%50%代表与中心点对齐,100%100%代表与右下角对齐。如果仅设置一个值,第二个值默认为50%。预定义关键字:使用代表方向的单词指定元素的位置。水平方向有:left、center、right,垂直方向有:top、center、bottom。使用两个关键字定义位置时,第一个值表示其水平位置,第二个值表示其垂直位置。只有一个值时,第二个值默认为center。二、DIV高级属性(4)background-size:图片大小background-size属性用来设置背景图片的大小,其语法格式如下:background-size:cover|contain|像素值|百分比;其中:
cover:保持图像的纵横比并将图像缩放成将完全覆盖背景定位区域的最小大小。
contain:此时会保持图像的纵横比并将图像缩放成将适合背景定位区域的最大大小。像素值:以像素值的方式定义背景图片的大小。百分比:将计算相对于背景定位区域的百分比,作为背景图片的大小。二、DIV高级属性(5)background-repeat:平铺方式background-repeat属性用来设置图片的平铺方式,其语法格式如下:background-repeat:repeat|no-repeat|repeat-x|repeat-y;其中:repeat:沿水平和垂直两个方向平铺;no-repeat:不平铺;repeat-x:沿水平方向平铺;repeat-y:沿垂直方向平铺。二、DIV高级属性例4-8背景图片基本属性(代码略)二、DIV高级属性(6)background-origin:背景绘制区域background-origin属性规定background-position属性相对于什么位置来定位,即背景图片左上角的定位起点。其语法格式如下:background-origin:padding-box|border-box|content-box;其中:padding-box:背景图像相对于内边距框来定位(默认值)。border-box:背景图像相对于边框盒来定位。content-box:背景图像相对于内容框来定位。(7)background-clip:背景定位区域background-clip属性规定背景的绘制区域。其语法格式如下:background-clip:border-box|padding-box|content-box;其中:border-box:背景被裁剪到边框盒。默认padding-box:背景被裁剪到内边距框。content-box:背景被裁剪到内容框。二、DIV高级属性例4-9background-origin及background-clip属性(代码略)二、DIV高级属性(8)background-attachment:背景图片固定方式background-attachment属性用来设置图片的固定方式,其语法格式如下:background-attachment:scroll|fixed;其中:
scroll:图像跟随页面滚动(默认值)。
fixed:图像不跟随页面滚动,固定在屏幕某一位置。二、DIV高级属性例4-10背景图片固定方式(代码略)二、DIV高级属性(9)background:背景复合属性我们可以分别设置以上背景样式属性,也可以使用background属性综合设置背景样式,其语法格式如下:background:background-colorbackground-imagebackground-repeatbackground-attachmentbackground-position/background-sizebackground-originbackground-clip;
这里有三个非常重要的问题需要我们注意:属性的顺序官方没有强制要求。background-position和background-size两个属性的值非常的类似,两个属性值都规定的话,需要用斜杠分隔;如果规定一个,那么仅对background-position属性有效,background-size采用默认值。background-origin与background-clip两个属性值完全相同,如果只规定一个,对两个属性都有效,如果规定两个,它们之间不需要使用斜线分隔。二、DIV高级属性例4-11复合背景设置(代码略)二、DIV高级属性(10)设置多重背景图像
CSS3以前的版本中,一个容器只能设置一张背景图片,CSS3增强了背景图片属性,我们可以在一个容器中设置多张图像作为背景图片。使用多张图片作为背景图片时不同图片的属性用逗号隔开。多张图片url地址写在前面的图片显示在最顶层,写在后面的图片显示在底层。二、DIV高级属性例4-12多重背景图片(代码略)二、DIV高级属性4.渐变填充 在CSS3中,我们不仅可以将盒子的背景设置为纯色或者图片,还可以将盒子的背景设置为渐变效果。CSS3中的渐变效果主要通过background-image属性下的函数实现,包括线性渐变和径向渐变。(1)线性渐变 线性渐变指颜色沿直线方向过渡,其基本语法如下:background:linear-gradient(direction,color-stop1,color-stop2,...);
其中:
derection:渐变方向,其属性值可以是“totop|right|bottom|left”,也可以是一个角度。0deg对应totop,90deg对应toright,180deg对应tobottom,270deg对应toleft。默认值是180deg。
color-stop:渐变起止颜色,可以添加多个颜色值。二、DIV高级属性例4-13线性渐变(代码略)二、DIV高级属性(2)径向渐变径向渐变指颜色从中心点沿圆形或椭圆形半径方向过渡的渐变效果。其基本语法如下:background:radial-gradient(shapesizeatposition,color-stop1,color-stop2,...);
其中:
shapesize:定义渐变形状及形状大小的一组参数值,两个参数值用空格隔开。shape及size参数值如表4.5所示。
position:定义圆心位置,定义方法如背景图片定位方式。可以使用表示方向的词从水平方向和垂直方向描述圆心位置,例如topleft(左上)。也可以使用像素值或百分比表示圆心位置,其值可以是负值。
color-stop:渐变起止颜色,可以添加多个颜色值。二、DIV高级属性二、DIV高级属性shape属性值说明circle径向渐变为“圆形”ellipse径向渐变为“椭圆形”size属性值说明closet-side指定径向渐变的半径长度为从圆心到离圆心最近的边closest-corner指定径向渐变的半径长度为从圆心到离圆心最近的角farthest-side指定径向渐变的半径长度为从圆心到离圆心最远的边farthest-corner指定径向渐变的半径长度为从圆心到离圆心最远的角表4.5shapesize参数值例4-14径向渐变(代码略)二、DIV高级属性(3)重复渐变 重复线性渐变background:repeating-linear-gradient(direction,color-stop1,color-stop2,...);
重复径向渐变background:repeating-radial-gradient(shapesizeatposition,color-stop1,color-stop2,...);重复渐变的参数设置与线性渐变及径向渐变相似。对于线性渐变及径向渐变中的颜色,可以用“color位置值”的形式表示某个确定位置的固定色值,其中位置值是指相对虚拟渐变射线的百分比或者长度值。二、DIV高级属性例4-15重复渐变(代码略)二、DIV高级属性1.float属性float属性定义元素在哪个方向浮动,使元素可以沿水平方向排列。float有3个属性值如下:
left:向左浮动
right:向右浮动
none:不浮动(默认值)三、元素的浮动例4-16元素浮动(代码略)三、元素的浮动三、元素的浮动2.清除浮动 在使用float属性后,元素的浮动会对其周围的元素产生影响。清除浮动对周围元素的影响的常用方法有2种,一种是使用clear属性,一种是使用overflow属性,具体如下:1)clear属性 在CSS中可以使用clear属性清除浮动,clear有3个常用的属性值,分别是left、right、both,可以清除元素左侧、右侧、两边的浮动影响。我们可以将例4-16中给段落标记p添加clear属性,文字将移动至下方,不会受上面3个小盒子的影响,效果如图4.24。元素浮动时,除了会对周围的兄弟元素产生影响,还会对父对象产生影响。在例4-16中,如果我们去掉p标签及其中的文字,同时不设置外big盒子的宽高,会产生如下图4.25中左侧的效果,大盒子变成了细长盒子。为了避免这样的问题,我们可以在.small盒子的后面添加一个元素,并对其设置clear属性,消除浮动对其父元素的影响,效果如4.25中右侧所示。具体操作有两种方法: 使用空标记清除浮动需要在子元素的最后一个后面再添加一个空标记,并为其添加clear属性。 使用after伪对象清除标记为父对象添加一个after伪对象:三、元素的浮动
(2)overflow属性overflow属性用来定义溢出元素内容区的内容会如何处理。overflow属性有5个常用属性值,如表所示:三、元素的浮动值描述visible默认值。内容不会被修剪,会呈现在元素框之外。hidden内容会被修剪,并且其余内容是不可见的。scroll内容会被修剪,但是浏览器会显示滚动条以便查看其余的内容。auto如果内容被修剪,则浏览器会显示滚动条以便查看其余的内容。inherit规定应该从父元素继承overflow属性的值。例4-18overflow属性用法(代码略)三、元素的浮动1.块元素与行内元素 HTML中的元素可以分为两类,分别为块元素及行内元素,如图4.27所示。四、元素的定位例4-16元素浮动(代码略)四、元素的定位(1)块元素最典型的块元素是<div>,常见的块元素有<hn>、<p>、<ul>、<li>、<ol>等,块元素具有如下特点: 每个块级元素都是独自占一行。 元素的高度、宽度、行高和边距都是可以设置的。 元素的宽度如果不设置的话,默认为父元素的宽度。(2)行内元素最典型的行内元素是<span>,常见的行内元素有<strong>、<em>、<del>、<a>等,行内元素具有如下特点: 每一个行内元素可以和别的行内元素共享一行,相邻的行内元素会排列在同一行里,直到一行排不下了,才会换行。 行内元素不能设置width,height。 行内水平方向的padding-left和padding-right都会产生边距效果,竖直方向上的padding-top和padding-bottom都不会产生边距效果。四、元素的定位(3)元素类型转换 display属性可用来转换元素类型。display的常用属性值如表4.7所示:四、元素的定位属性值说明block此元素将显示为块级元素inline此元素会被显示为行内元素inline-block行内块元素。可以设置宽高对齐等属性,但是不会独占一行。none此元素不会被显示。2.文档流概念在HTML的布局中,元素自动按照从上到下,从左到右的顺序进行排列,这种排列方式被称为文档流。块元素在文档流中按照从上到下的顺序排列,行内元素在文档流中按照从左到右的顺序排列。四、元素的定位3.position属性
position属性用来指定元素的定位方式,其常用属性值如表4.8所示四、元素的定位属性值说明absolute绝对定位,脱离原文档流相对其父对象进行定位。fixed固定定位,脱离源文档流相对浏览器窗口进行定位。relative相对定位,相对于源文档流中的位置进行定位。static静态定位,默认值。对元素进行定位时,需要设置定位模式和边偏移。边偏移属性如表4.9所示,边偏移的属性值可以以px为单位也可以写作百分比的形式。四、元素的定位属性说明left相对其父元素左边线的偏移量right相对其父元素右边线的偏移量top相对其父元素上边线的偏移量botton相对其父元素下边线的偏移量例4-17盒子的定位(代码略)四、元素的定位4.z-index层叠属性当元素发生重叠时,可以使用z-index属性设置其堆叠的顺序。z-index属性的属性值默认值为0,也可取正整数或负整数。数值越大,定位的元素约靠上。四、元素的定位例4-20层叠属性(代码略)四、元素的定位总结提升PART04总结提升:常见网页布局方式盒子模型及其属性不但可以美化页面,还有另一个重要的作用就是布局页面。在HTML5中提供了新的结构元素用来布局页面。常用的页面布局方式包括静态布局、流式布局、弹性布局、网格布局、自适应布局、表格布局以及响应式布局,下面我们将对常见的页面布局方式做简单的介绍。一、static静态布局静态布局是最传统Web页面布局方式,网页上的所有元素的尺寸一律使用px作为单位。如图4.31所示,大多数PC端网页都是采用这种布局方式,通常会设置一个min-width,当窗口小于这个宽度,就会出现滚动条。这种布局方式的优点是简单、稳定,但是对移动设备兼容性较差。二、Fluid流式布局流式布局使用百分比来定义盒子的宽度用像素值定义盒子的高度,以此来增加页面的可塑性和流动性,以适应不同分辨率的屏幕,但对尺寸跨度较大的屏幕适应性和稳定性较差。流布局常使用到媒体查询和优化样式技术。三、Flex弹性布局弹性布局是CSS3中基于弹性盒子的布局方式。引入弹性盒子布局模型的目的是提供一种更加有效的方式来对一个容器中的子元素进行排列、对齐和分配空白空间。flex弹性布局是基于轴线结构的一维布局。使用弹性布局时需要使用display:flex属性
将容器定义为弹性盒
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024异地恋爱合同范本
- 焊工灭火知识培训课件
- 2024雕塑制作合同协议书范本
- 专业化交通违法车辆拖行服务2024协议范本版B版
- 《畜禽病理学》课件
- 2024年跨区域生态环境保护补偿协议
- 浙江农业商贸职业学院《机械结构创新设计》2023-2024学年第一学期期末试卷
- 中南林业科技大学涉外学院《外景采集与创作》2023-2024学年第一学期期末试卷
- 2024年绿色建筑墙面装饰工程劳务分包合同2篇
- 2024幼儿园施工环保技术咨询服务合同3篇
- 【市质检】泉州市2025届高中毕业班质量监测(二) 语文试卷(含官方答案)
- 2025年湖南湘西州农商银行招聘笔试参考题库含答案解析
- (完整)领导干部任前廉政法规知识考试题库(含答案)
- 2025年国务院发展研究中心信息中心招聘2人高频重点提升(共500题)附带答案详解
- 人工智能算法模型定制开发合同
- 申请行政复议的申请书范文模板
- 【MOOC期末】《形势与政策》(北京科技大学)期末慕课答案
- 2024年医疗健康知识科普视频制作合同3篇
- 2024年古董古玩买卖协议6篇
- QC/T 1209-2024汽车噪声与振动(NVH)术语和定义
- 安全风险隐患举报奖励制度
评论
0/150
提交评论