ImageVerifierCode 换一换
格式:PPT , 页数:91 ,大小:2.13MB ,
资源ID:12819421      下载积分:8 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/12819421.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(CSS盒子模型讲解讲课教案.ppt)为本站上传会员【人****来】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

CSS盒子模型讲解讲课教案.ppt

1、Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,11/7/2009,#,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,1,*,CSS的盒子模型,CSS的盒子模型,盒子模型是,CSS的基石之一,,它指定元素如何显示以及(在某种程度上)如何相互交互,页面上的每个元素都被浏览器看成是一个,矩形的盒子,,这个盒子由元素的,内容,、,填充,、,边框,和,边界,组成。,网页就是由许多个盒

2、子通过不同的排列方式(上下排列,并列排列,嵌套排列)堆积而成。,CSS的盒子模型,CSS的盒子模型,每个HTML元素都可以看作是一个装了东西的盒子,盒子里面的内容到盒子的边框之间的距离即,填充(padding,),盒子本身有,边框(border),而盒子边框外和其它盒子之间,还有,边界(magin,),如图所示,默认情况下盒子的边框是无,背景色是透明,所以我们在默认情况下看不到盒子,content,padding-top,padding-bottom,padding-left,padding-right,border-top,border-bottom,border-right,border-

3、left,margin-right,margin-left,margin-top,margin-bottom,width,height,元素盒子大小的计算,一个元素实际宽度=左边界左边框左填充内容宽度右填充右边框右边界,IE quirk模式下盒子的宽度,当将文档声明DOCTYPE删除后,IE 6对网页的解释会进入quirk(怪异)模式,此时盒子的宽度等于,左边界宽度右边界,因此当使用了盒子属性后切忌删除DOCTYPE,CSS盒子模型计算题,如果盒子里面嵌套有盒子,且两个盒子都有边框,那么两个盒子边框之间的距离等于外面盒子的填充值里面盒子的边界值,#box1,background-color:#

4、ddd;,margin:15px;,padding:5px;,#box2,color:black;,background-color:#aaa;,margin:20px;,padding:10px 0px 10px 10px;,width:100px;,body,border:1px dotted#FF0000,这是里面的盒子,边框border属性,盒子模型的margin和padding属性比较简单,只能设置宽度值,最多分别对上、右、下、左设置宽度值。而边框border则可以设置宽度、颜色和样式。,分别是border-width(宽度)、border-color(颜色)和border-styl

5、e(样式)其中border-style属性可以将边框设置为实线(solid)、虚线(dashed)、点划线(dotted)、双线(double)等效果,边框border属性,边框border属性有个有趣的特点,即两条交汇的边框之间是一个斜角,我们可以通过为边框设置不同的颜色,再利用这个斜角,制作出像三角形一样的效果,内 容,填充padding属性,填充padding属性,也称为盒子的内边距。就是盒子边框到内容之间的距离,和表格的填充属性(cellpadding)比较相似。如果填充属性为0,则盒子的边框会紧挨着内容,这样通常不美观。,当对盒子设置了背景颜色或背景图像后,那么背景会覆盖paddin

6、g和内容组成的范围,并且默认情况下背景图像是以padding的左上角为基准点在盒子中平铺的,盒子模型的特性,边界值margin可为负,填充padding不可为负,边框border默认值为0,即不显示,行内元素,如a,定义上下边界不影响行高,对盒子模型的思考,边框是实的,我们可以看到实实在在的边框,而填充和边界都是虚的,我们只能看到他们对元素的影响,盒子模型中只能设置两类颜色,即,边框颜色,和,背景颜色,盒子模型可设置三类距离,即边界距离margin,填充距离padding和边框值border,属性值的简写形式,方法是按照规定的顺序,给出2个、3个或者4个属性值,它们的含义将有所区别,具体含义如

7、下:,如果给出2个属性值,前者表示,上下边框,的属性,后者表示,左右边框,的属性;,如果给出3个属性值,前者表示,上边框,的属性,中间的数值表示,左右边框,的属性,后者表示,下边框,的属性;,如果给出4个属性值,依次表示,上,、,右,、,下,、,左,边框的属性,即顺时针排序。,各种元素盒子属性的默认值,大部分html元素的盒子属性(margin,padding)默认值都为0;,有少数html元素的(margin,padding)浏览器默认值不为0,例如:body,p,ul,li,form标记等,因此我们有时有必要先设置它们的这些属性为0。,Input元素的边框属性默认不为0,我们可以设置为0达

8、到美化表单中输入框和按钮的目的。,4.5.2 盒子模型的应用,1.美化表单,网页中的表单控件在默认情况下背景都是灰色的,文本框边框是粗线条带立体感的,不够美观。下列代码通过CSS改变表单的边框样式、颜色和背景颜色让文本框,按钮等变得漂亮些。,用盒子美化表格,让表格的外边框为2象素,首先用间距制作1像素边框的表格,然后用css为table元素加一个1象素宽的border,制作1象素虚线边框,首先将表格的边框和间距设为0,然后设置table的CSS上边框和左边框为1象素虚线,再设置td的css下边框和右边框为1象素虚线,盒子的定位,盒子的三种定位形式,在标准流下的定位,在浮动属性下的定位,在定位属

9、性下的定位,除非设置浮动属性或定位属性,否则所有盒子都是在,标准流,中定位。顾名思义,标准流中元素盒子的位置由元素在HTML中的位置决定。,标准流,HTML元素在标准状况下的定位方式,行内元素在同一行内横向排列,块级元素占满整个一行,在页面中竖向排列,元素不会移动到其它地方去,对于嵌套的元素盒子也是嵌套的关系,标准流下的盒子排列分析,*,border:2px dashed#FF0066;,padding:10px;,margin:2px;,body border:2px solid blue;,a border:2px dotted blue;,网页的banner(块级元素),行内元素1行内2

10、行内3,这是无名块这是盒子中的盒子,行内元素的盒子,行内元素的盒子永远只能在浏览器中得到,一行高度,的空间(行高由line-height属性决定,如果没设置该属性,则是内容的默认高度),如果给它设置上下border,margin,padding等值,导致其盒子的高度超过行高,那么它的盒子上下部分将和其他元素的盒子重叠。,因此,不推荐对行内元素直接设置盒子属性,一般先设置行内元素以,块级元素显示,,再设置它的盒子属性。,改变行内元素的高度,如图所示,当增加行内元素的边界和填充时,行内元素a占据浏览器的高度并没有增加,下面这个div块仍然在原来的位置,导致行内元素盒子的上下部分重叠,而左右部分不

11、会受影响,display属性,通过display属性可控制元素是以行内元素显示还是以块级元素显示,或不显示,display:block|inline|none|list-item,block元素,block元素的特点是:总是在新行上开始;高度,行高以及顶和底边距都可控制;宽度缺省是它的容器的100%,除非用width设定一个宽度,和 是块元素的例子。,inline元素,inline元素的特点是:,和其他元素都在一行上,高,行高及顶和底边距不可改变;,宽度就是它的文字或图片的宽度,不可改变。,和是inline元素的例子,列表项元素display:list-item,在html中只有li元素默认是

12、此类型,将元素设置为列表项元素后将按列表元素显示,再通过设置列表选项可使元素的左边出现小黑点。,隐藏元素display:none;,当某个元素被设置成了隐藏元素之后,浏览器会完全忽略掉这个元素,该元素将不会被显示,也不会占据文档中的位置。像title元素默认就是此类型。,比较visibility:hidden;,制作下拉菜单、tab面板等有时就需要用display:none把菜单或面板隐藏起来,需要使用display属性切换的情况,让一个inline元素从新行开始;,让块元素和其他元素保持在一行上;,控制inline元素的宽度;,控制inline元素的高度(对导航条特别有用);,无须设定宽度即

13、可为一个块元素设定与文字同宽的背景色,标准流下定位的应用制作竖直导航菜单,#nav a,font-size:14px;,color:#333333;,text-decoration:none;,background-color:#CCCCCC;,display:block;,width:140px;,padding:6px 10px 4px;,border:1px solid#000000;,margin:2px;,#nav a:hover,color:#FFFFFF;,background-color:#666666;,盒子的margin叠加问题,盒子的margin在标准流中的计算,实验1行

14、内元素之间的水平margin,span.left,margin-right:30px;,background-color:#a9d6ff;,span.right,margin-left:40px;,background-color:#eeb0b0;,行内元素之间的水平margin,行内元素之间的水平margin不会叠加,span 2,span 1,margin-right,margin-left,实验2块级元素之间的竖直margin,块元素1,块元素2,块元素1,块元素2,块元素1,块元素2,margin-bottom:50px,margin-top:30px,margin-bottom:50

15、px,块级元素之间的上下margin,空白边叠加,当一个元素包含在另一个元素中时,若父元素的边框和填充为0,此时父元素和子元素的margin挨在一起,那么父元素的上下margin也会和子元素的上下margin发生叠加。若父元素的边框或填充不为0,那么父元素和子元素的margin会被分隔开,因此不存在叠加的问题。,经验:如果有盒子嵌套,要调整外面盒子和里面盒子之间的距离,一般用外面盒子的padding来调整,不要用里面盒子的margin,这样可以避免空白边叠加的现象出现,嵌套盒子之间的margin,盒子在标准流中的定位原则,实验3嵌套盒子之间的margin,嵌套盒子在IE和Firefox中的不同

16、显示,当一个块元素包含在另一个块元素中时,若对父块设置高度,但父块的高度不足以容纳子块时,IE将使父块的高度自动伸展,达到能容纳子块的最小高度为止;若同时设置了子块高度,IE有时使子块高度自动压缩,直到能容纳内容的最小高度为止。而Firefox对父块和子块均以定义的高度为准,父块高度不会伸展,任其子块露在外面,子块高度也不会压缩。,从这里可以看出,Firefox对元素的高度解释严格按照我们设定的高度执行,而IE对元素高度的设定有点自作主张的味道,它总是使标准流中子元素的盒子包含在父元素盒子当中。,背景的控制,CSS的背景属性,背景(background)是网页中常用的一种表现方法,无论是单纯的

17、背景颜色还是背景图片,都能为网页带来丰富的视觉效果,HTML的很多元素都具有bgcolor和backgroud属性,可以设置背景颜色和背景图片,如(table、td等),但形式比较单一,对背景图片的设定,只支持在X轴和Y轴都平铺的方式,因此,如果同时设置了背景颜色和背景图片,那么背景颜色将被背景图片挡住,以背景图片来显示。,而CSS对元素的背景设置,则提供了更多的途径,如背景图片既可以平铺也可以不平铺,还可以在X轴平铺或在Y轴平铺,当背景图片不平铺时,并不会完全挡住背景颜色,因此可以综合设置背景颜色和背景图片达到希望的效果。,CSS的背景属性是backgroud或以backgroud开头,CS

18、S的背景属性,属性,描述,可用值,background,设置背景的所有控制选项,是其他所有背景属性的缩写,其他背景属性的值的集合,background-color,设置背景颜色,rgb颜色,命名颜色,16进制颜色,background-image,设置背景图片,url,background-repeat,设置背景图片的平铺方式,repeat(完全平铺),repeat-x(横向平铺),repeat-y(纵向平铺),no-repeat(不平铺),background-attachment,设置背景图片固定还是随内容滚动,scroll(默认值),fixed,background-position,设

19、置背景图片显示的起始位置,(top left,center center,bottom right),(x%y%,x-pos y-pos,),各个背景属性的默认值,background-color:transparent 透明模式,background-image:none,background-repeat:repeat平铺,background-attachment:scroll,background-position:0%0%,background属性的缩写,background属性是所有背景属性的缩写形式,就像font属性一样,其缩写顺序为:,background:background

20、color|background-image|background-repeat|background-attachment|background-position,如body background:#EFF4FF url(images/body_bg.jpg)repeat-x fixed;,DW中的背景设置面板,background-color:#0099cc,background-image:url(img/bottom.gif),background-repeat:no-repeat,background-position:right bottom,background-attachm

21、ent:no-repeat,背景的运用技巧,背景的运用技巧,同时运用背景颜色和背景图片,控制背景在盒子中的位置及是否平铺,多个元素背景的叠加,滑动门技术,背景位置的控制实现图片的翻转,圆角的设计方法总结,同时运用背景颜色和背景图片,目前网页中流行采用一种渐变背景,即网页的背景从上至下由一种深颜色过渡到一种浅颜色,由于网页的长度通常是不好估计的,所以无法用一幅背景图片来做这种渐变背景,只能在网页的上部用渐变的图片做背景,下部使用用一种和图片下部颜色相同的颜色做背景色,通过在CSS中设置body标记的背景颜色和背景图片,并把背景图片设置为横向平铺就可以实现渐变背景了。,bodybackground

22、666666 url(xxwlzx/body_bg.gif)repeat-x;,控制背景在盒子中的位置及是否平铺,在html中,背景图像只能平铺,而在CSS中,背景图像能做到精确定位,允许不平铺,效果就像普通的图像元素一样。因此有人建议所有的网页图像都作为元素的CSS背景引入。例如下面的网页的背景就是用让背景图片不平铺并且定位于右下角实现的。,body,background:#F7F2DF url(cha.jpg)no-repeat right bottom;,li元素的背景应用,通过背景图片不平铺的技术还可以用来改变列表的项目符号,虽然使用列表元素ul的CSS属性list-style-i

23、mage:url(arrow.gif)可以将列表项前面的小黑点改变成自定义的小图片,但无法调整小图片和列表文字之间的距离。,要解决这个问题,可以将小图片设置成li元素的背景,不平铺,且居左,为防止文字遮住图片,将li元素的左padding设置成20px,这样还可通过调整左padding的值实现任意调整列表小图片和文字之间的距离。,ul,list-style-type:none;,li,background:url(arrow.gif)no-repeat 0px 3px;/*距左边0px,距上边3px*/,padding-left:20px;,可以看出,有了背景的精确定位能力,完全可以使列表项目

24、图片符号出现在li元素中的任意位置上。,多个元素背景的叠加,背景图片的叠加是很重要的CSS技术,当两个元素是嵌套关系时,那么里面元素的盒子背景的不透明部分将覆盖在外面元素盒子背景之上,利用这一点,再结合对背景图片位置的控制,可以得到滑动门技术。下面以,4图像可变宽,度圆角栏目框的制作来介绍多个元素背景叠加的技巧,圆角的设计,固定宽圆角,可变宽圆角,4图像可变宽度圆角栏目框,这是圆角矩形的标题,4图像可变宽度圆角栏目框,#round,background-image:url(xxwlzx/tly.gif);,background-repeat:no-repeat;,background-colo

25、r:#00FF99;,width:244px;,#round h3,background-image:url(xxwlzx/tly2.gif);,background-repeat:no-repeat;,background-position:right top;,text-align:center;,padding:12px;,margin:0px;,#round p,background-image:url(xxwlzx/tly4.gif);,background-repeat:no-repeat;,background-position:left bottom;,margin:0px;,

26、round span,background-image:url(xxwlzx/tly3.gif);,background-repeat:no-repeat;,background-position:right bottom;,display:block;,padding:16px;,font-size:14px;,line-height:140%;,color:#FF0000;,最后再设置背景色,由于几层背景的叠加,背景色只能放在最底层的盒子上,也就是对最外层的元素设置背景色,这样背景色就不会把背景图片给覆盖了。与此相反,为了让内容能放在距边框有一定边距的区域,必须设置padding值,而且

27、padding值只能设置在最里层的盒子上。,但这个圆角框没有边框,要制作带有边框的可变宽度圆角框,需要采用5图像二维滑动门法制作,滑动门技术背景的高级运用,图片阴影,自适用宽度圆角导航条,1.图像阴影,阴影是一种很流行、很有吸引力的图像处理技巧,它给平淡的设计增加了深度,形成立体感。使用图像处理软件很容易给图像增添阴影。但是,可以使用CSS产生简单阴影效果,而不需要修改底层的图像。通过滑动门技术制作的阴影能自适应图像的大小,即不管图像是大是小都能为它添加阴影效果。,滑动门制作图片阴影原理图,透 明,图 像,图 像,图 像,图 像,2.自适应宽度圆角导航条,原理:背景图片比盒子长一些,背景图片:

28、里面的盒子,设置背景图片为从右边开始铺,外面的盒子,设置背景图片为从左边开始铺,把里面的盒子放在外面盒子上方,则两边的圆角都能显示,同时,改变文字的多少,能使导航条自动伸展,而圆角部分位于padding区域,不会影响圆角,滑动门导航条代码,a,font-size:14px;,color:#F1E474;,text-decoration:none;,background-image:url(xxwlzx/yuanjiao2.gif);,height:32px;,padding-left:24px;,display:block;,float:left;,line-height:32px;,b b

29、ackground-image:url(xxwlzx/yuanjiao2.gif);,background-position:right top;,display:block;,padding-right:24px;,a:hover,color:#FFFFFF;,首 页,中心简介,政策法规,常用下载,为您服务,技术支持和服务,背景图案的翻转控制背景的显示区域,通过背景定位技术可使背景图片出现在盒子的任意位置上,如果盒子没有背景那么大,那么只能显示背景图的一部分,利用这一点,我们可以将多个背景图片放置在一个大的背景图里,让每个元素只显示这张大背景图的一部分,例如制作导航条时,可以让链接状态显示背

30、景图的上一部分,鼠标滑过时显示背景图的下一部分,这就是背景的翻转,使我们只用一幅图片就能实现背景图的切换。,通过背景图片位置控制实现图片翻转,#nav li a,color:#FFFFFF;,text-decoration:none;,padding-top:7px;,display:block;,width:97px;,height:19px;,text-align:center;,background:url(img/nav.gif);,margin-left:2px;,#nav li a:hover,background:url(img/nav.gif);,background-posi

31、tion:0px-26px;/*background-position:left center;*/,color:#FFFFFF;,将滑动门技术和背景图片翻转结合的例子,a:hover,background-position:100%-42px;,a:hover b,background-position:0-42px;,color:#FF0000;,CSS圆角设计,圆角的设计方法,圆角在网页设计中让人又爱又恨,一方面设计师为追求美观的效果经常需要借助于圆角,另一方面为了在网页中设计圆角又不得不增添很多工作量。,制作固定宽度的圆角(不带边框的、带边框的),制作可变宽度圆角(不带边框的、带边框的

32、不用图片做圆角,1.制作固定宽度的圆角框,用CSS制作不带边框的固定宽度圆角框(如图4-57左所示)至少需要两个盒子,一个盒子放置顶部的圆角图案,另一个盒子放置底部的圆角图案,并使它位于盒子底部。把这两个盒子叠放在一起,再对栏目框设置和圆角相同的背景色就可以了,制作带边框的固定宽度圆角框(如图4-57右所示)则至少需要三个盒子,最底层的盒子放置圆角框中部的边框和背景组成的图案,并使它垂直平铺,上面两层的盒子分别放置顶部的圆角和底部的圆角,这样在顶部和底部圆角图片就遮盖了中部的图案,形成了完整的圆角框,2.制作可变宽度圆角,制作可变宽度不带边框的圆角框就是前面介绍的4图像法制作圆角框,而要制

33、作带边框的可变宽度圆角则要采用5图像二维滑动门方法,3.不用图片做圆角山顶角方法,如果不想用图片做圆角,那也是可以实现的,这需要一种称为山顶角(mountaintop corner)的圆角制作方法,所谓山顶角,就是说不是纯粹意义上的平滑圆角,而是通过几个1像素高的div(水平细线)叠放起来形成视觉上的圆角,用这种方法做圆角一般采用4个div叠放,所以圆角的弧度不是很大。,3.不用图片做圆角山顶角方法,如果把最上方一条细线的颜色改为黑色,再设置下面三条细线的左右边框是1像素黑色,那么就出现了带有边框的圆角框效果了,4.学习圆角制作的意义,由于人们的审美观念决定了圆角比方角更具有亲和力,使我们很多

34、时候必须制作圆角框。另外,圆角框技术是制作其他不规则图案栏目框的基础。例如图4-61所示的栏目框,就可以把栏目框上面部分看成是上圆角,下面部分看成是下圆角,再按照制作圆角框的思路制作了。,盒子的浮动,盒子的浮动,在标准流中,块级元素的盒子都是上下排列,行内元素的盒子都是左右排列,如果仅仅按照标准流的方式进行排列,就只有这几种可能性,限制太大。CSS的制订者也想到了这样排列限制的问题,因此又给出了浮动和定位方式进行盒子的排列,从而使排版的灵活性大大提高。,例如:有时希望相邻块级元素的盒子左右排列(所有盒子浮动)或者希望一个盒子被另一个盒子中的内容所环绕(一个盒子浮动)做出图文混排的效果,这时最简

35、单的办法就是运用浮动(float)属性使盒子在浮动方式下定位。,在标准流中,一个块级元素在水平方向会自动伸展,在它的父元素中占满整个一行;而在竖直方向和其他元素依次排列,不能并排,如图4-62所示。使用“浮动”方式后,这种排列方式就会发生改变。,CSS中有一个float属性,默认值为none,也就是标准流通常的情况,如果将float属性的值设为left或right,元素就会向其父元素的左侧或右侧靠紧,同时盒子的宽度不再伸展,而是收缩,在没设置宽度时,会根据盒子里面的内容来确定宽度。,1.一个盒子浮动,接下来在上述代码中添加一条CSS代码,使元素“.son1”浮动。代码如下:,.son1floa

36、t:left;,此时显示效果如图4-63所示,可发现给“.son1”添加浮动属性后,“.son1”的宽度不再自动伸展,而且不再占据原来浏览器分配给它的位置。如果再在未浮动的盒子Box-2中添一行文本,就会发现“.son2”中的内容是环绕着浮动盒子的,总结:一个盒子浮动后的特点,(1)浮动后的盒子将以块级元素显示,但宽度不会自动伸展。,(2)浮动的盒子将脱离标准流,即不再占据浏览器原来分配给它的位置(IE有时例外)。,(3)未浮动的盒子将占据浮动盒子的位置,同时未浮动盒子内的内容会环绕浮动后的盒子。,提示:所谓“脱离标准流”是指元素不再占据在标准流下浏览器分配给它的空间,其他元素就好像这个元素不

37、存在一样。例如图4-63中,当Box-1浮动后,Box-2就顶到了Box-1的位置,相当于Box-2视Box-1不存在一样。但是,浮动元素并没有完全脱离标准流,这表现在浮动盒子会影响未浮动盒子中内容的排列,例如Box-2中的内容会跟在Box-1盒子之后进行排列,而不会忽略Box-1盒子的存在。,2.多个盒子浮动,多个盒子都浮动后,就产生了块级元素水平排列的效果,多个浮动元素不会相互覆盖,一个浮动元素的外边界(margin)碰到另一个浮动元素的外边界后便停止运动。,若包含的容器太窄,无法容纳水平排列的多个浮动元素,那么最后的浮动盒子会向下移动(图4-68)。但如果浮动元素的高度不同,那当它们向下

38、移动时可能会被卡住,4.7.2 浮动的清除,clear是清除浮动属性,它的取值有left、right、both和none(默认值),如果设置盒子的清除浮动属性clear值为left或right,表示该盒子的左边或右边不允许有浮动的对象。值设置为both则表示两边都不允许有浮动对象,因此该盒子将会在浏览器中另起一行显示,clear属性既可以用在未浮动的元素上,也可以用在浮动的元素上,如果对Box-3同时设置清除浮动和浮动,即:,.son3clear:both;float:left;,总结:清除浮动是清除其它盒子浮动对该元素的影响,而设置浮动是让元素自身浮动,两者并不矛盾,因此可同时设置元素清除浮

39、动和浮动,4.7.3 浮动的浏览器解释问题,1.元素浮动但是其父元素不浮动,当设置了父元素的宽度或高度后,IE(非标准浏览器)中的浮动元素将占据外围容器空间,Firefox依然不占据,3.元素浮动但是其后面相邻元素不浮动,设置了后面相邻元素的宽或高,则在IE中,浮动元素将仍然占据它原来的空间,未浮动元素跟在它后面,浮动的浏览器显示问题总结,情 况,未浮动的盒子不设宽或高,对未浮动的盒子设置宽或高,盒子浮动,其外层盒子未浮动,IE和Firefox的显示效果一致,IE浮动盒子将不会脱离标准流,Firefox浮动盒子仍然是脱离标准流的,盒子浮动,后面相邻盒子未浮动,IE 6浮动元素的双倍margin

40、错误,在IE6中,只要设置元素浮动,则设置左浮动,盒子的左margin会加倍,设置右浮动,盒子的右margin会加倍。这是IE6的一个bug(IE7已经修正了这个bug)。,解决IE 6双倍margin错误的方法很简单,只要对浮动元素设置“display:inline;”就可了。代码如下:,.son1float:left;display:inline;,提示,即使对浮动元素设置“display:inline;”,它仍然会以块级元素显示,因为设置元素浮动后元素总是以块级元素显示的。,当然,也可以不设置浮动盒子的margin,而设置其父元素盒子的padding值来避免这个问题,在实际应用中,可以设

41、置padding的地方尽量用padding,而不要用margin,4.7.4 浮动的应用举例,1 图文混排及首字下沉效果等,2 菜单的竖横转换,3 制作栏目框标题栏,标题栏的左端是栏目标题,右端是“更多”之类的链接。如何将文字分别放在一个盒子的左右两端呢?,最简单的办法就是设置左边的文字左浮动,右边的文字,右浮动,。这时由于两个盒子都浮动,不占据外围容器的空间,所以必须设置外围盒子h3的高度,使它在视觉上能包含住两个浮动的盒子,|栏目标题1,more,网页的固定宽度1-3-1布局,在默认情况下,div作为块级元素是占满整行从上到下依次排列的,但在网页的分栏布局中,例如1-3-1固定宽度布局,我

42、们希望中间三栏(三个div盒子)从左到右并列排列,这时就需要将这三个div盒子都设置为浮动。,但三个div盒子都浮动后,只能浮动到窗口的左边或右边,无法在浏览器中居中,因此需要在三个div盒子外面再套一个盒子(称为container),让container居中,这样就实现了里面的三个div盒子居中,IE中的131布局示意图,body,header,container,nav,content,side,pagefooter,Firefox中的131布局示意图,body,header,container,nav,content,side,pagefooter,131布局的结构代码,id=heade

43、r,id=navi,id=content,id=side,id=pagefooter,131布局的CSS代码,#header,#pagefooter,#container,margin:0 auto;,width:772px;,border:1px dashed#FF0000;,#navi,#content,#side,border:2px solid#0066FF;,#navi,float:left;,width:200px;,#content,float:left;,width:360px;,#side,float:left;,width:200px;,#pagefooter,clear:both;,

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服