Web前端开发技术与实践 第10章:盒子模型 阮晓龙 /

Slides:



Advertisements
Similar presentations
2014 学年广州市 “ 一师一优课、 一课一名师 ” 活动操作简介 广州市教育信息中心 2015 年 1 月 15 日.
Advertisements

第5章 表格的设计与 制作. 内容提要 表格的创建、编辑 表格的属性设置 特效表格的制作 布局表格的基本操作 表格和布局表格的应用.
Web 开发基础 第二章 表格与页面布局. 回顾 Internet 和 万维网 网页的工作原理 网页的基本结构 标记及其属性 段落标记,图片标记,超级链接标记 相对路径,绝对路径,物理路径.
16 邁向網頁的未來-HTML5 Pack 與 Widget Browser 使用 HTML5 來為多重螢幕裝置進行設計 變更檢視區大小
HyperText Markup Language
第六章 网页设计与制作基础.
浅析浏览器解析和渲染 偏右.
第5章 HTML 標籤介紹.
教学内容 1、演示并讲解用表格布局制作的网页 2、用表格制作网页.
第8章 CSS基础知识 【学习目标】 对于一个网页设计者来说,对HTML语言一定不感到陌生,因为它是网页制作的基础,但是如果希望网页能够美观、大方,并且升级维护方便,那么仅仅知道HTML还是不够的,还需要了解CSS。了解CSS基础知识,可以为后面的学习打下基础。 本章主要内容包括: 为什么在网页中加入CSS。
2 HTML5與CSS3 2-1 HTML5的頁面結構 2-2 HTML5的文字編排標籤 2-3 HTML5的圖片與超連結標籤
“走进三国” 读书汇报会 广州市玉岩中学 李玉明( ).
XML 第05讲 使用CSS显示XML.
第五单元课1-3 层叠样式表.
浏览器工作原理浅析 TID Ghostzhang.
CSS – 進階 IDIC.
使用HTML製作個人網頁 柴惠敏 台灣大學 物理治療學系.
第6章 网页图像处理 通过本章学习,应该掌握以下内容: 能够选择合适的网页颜色 了解网页图像的基本格式 掌握使用网页图像的要点
No Zuo No Die Why Not Try ? ——做更好的前端 技术中心 黄家权/mss.
说课.
模块七 信息获取与发布 第8章 计算机网络信息的获取与发布.
RWD網頁設計實務 李欣螢 以誠研發有限公司.
网页编程基础 曾宪文,Rex Zeng 纸飞机网络技术部部长 Leader of ACE.
第四章 样式表CSS CSS技术是一种格式化网页的标准方式,它通过设置CSS属性债周页元素获得各种不同效果。本章共分9个实例,主要内容包括的基础知识、CSS创建与导入、CSS的语法结构、常用CSS的分类、CSS的使用原则等内容。
CSS简介 WEB前端三剑客之二.
网页设计 上海建桥学院信息技术系 矫桂娥
CSS 徐于晉 陳政樺 陳郁蘋 黃麒錕 劉芳賓.
定位的CSS樣式.
标准规范 2.自己偏好习惯 3.讨论/建议 永远遵循同一套编码规范 -- 不管多少人同时参与编码,所有代码都应该看上去像是一个人编写的一样。
Web前端开发技术与实践 第12章 布局 阮晓龙 /
第 13 章 用CSS 設定 文字顏色與背景.
邁向 HTML5 如何與 ASP.NET 整合 多奇數位創意有限公司 技術總監 黃保翕 ( Will 保哥 )
Ch.13 HTML網頁實作.
CSS排版:盒子模式 靜宜大學 資管系 楊子青.
Css全教程 边框背景轮廓 群号: 韬略课堂:何韬.
Web前端开发技术与实践 第3章:初识HTML5 阮晓龙 /
HTML5全栈开发序列课程 《前端入门》之CSS3新特性 余鹏作品.
Web前端开发技术与实践 第11章:背景与边框 阮晓龙 /
动态专题制作 凤凰网技术中心 应用管理部.
CSS 钟晖云 QQ:
CHAPTER 18 CSS樣式表的動態效果.
HTML & CSS.
CSS樣式 靜宜大學 資管系 楊子青.
基礎程式設計範例 -網頁名片.
主讲:陶建平 华中科技大学网络与计算中心
W3C标准网页制作 主讲教师:张 涛.
Web前端开发技术与实践 第9章:文字样式 阮晓龙 /
UI 软件 设计 页面布局(二).
1 意见反馈与问题解答 4 1.
网页设计与制作 Dreamweaver CS6 标准教程
網路程式設計期末project 指導教授:馬尚彬 學生:楊依林 學號:B
第4章 CSS基础 主讲人:刘泰然 经济管理学院.
网页设计与制作教程第5版 机械工业出版社同名教材 配套电子教案.
Web Programming 網際網路程式設計
计算机网络与网页制作 Chapter 11:用CSS作页面布局
主講人:圖資館諮服組 蔡美惠小姐.
CSS排版:盒子模式 靜宜大學 資管系 楊子青.
武汉纺织大学传媒学院 cm.wtu.edu.cn
第7章 使用CSS设置链接与导航菜单 经济管理学院.
網路商店裝修之二 CSS樣式編輯.
103學年度第1學期新北市 政府辦理弱勢幼兒教育津貼 作業說明會 承辦人員:塗彥凱(分機2800)
CSS基礎 靜宜大學 資管系 楊子青.
第5章 Div+CSS布局技术 经济管理学院.
第6章 层次原理图设计和多通道技术: 重点内容: 掌握自上而下的层次原理图设计方法 掌握自下而上的层次原理图设计方法
第2章 块级标签 经济管理学院.
Web前端开发 第7章:初识CSS3 阮晓龙 / 河南中医药大学管理科学与工程学科
使用Dreamweaver 8 國立竹東高級中學 資訊科技概論 黃秋雅老師
【學雜費減免】 學務系統 線上申請步驟 學校網頁和系統 皆需以IE瀏覽器開啟 (不適用Google Chrome 或其他瀏覽器)
教师:李金双 网页制作 教师:李金双
Presentation transcript:

Web前端开发技术与实践 第10章:盒子模型 阮晓龙 13938213680 / rxl@hactcm.edu.cn http://web.51xueweb.cn 河南中医学院管理信息工程学科 河南中医学院网络信息中心 2015.11

本章主要内容 盒子 盒子类型 盒子的属性 浏览器的盒子调试

1.盒子 1.1元素盒子 盒子是一个概念,也可以说是容器,可以在里面放置网页中需要显示的内容,文档中每一个元素都会产生一个盒子,盒子拥有很多属性,如width、height、padding、border和margin等。 元素盒子的最内部分是实际的内容,直接包围内容的是内边距。内边距可以呈现元素的背景。内边距的边缘是边框,边框以外是外边距,外边距默认是透明的,因此不会遮挡其后的元素。

元素盒子的组成

1.盒子 盒子的内边距、边框和外边距的宽度都是可选的,其默认值是零。 1.1元素盒子 盒子的内边距、边框和外边距的宽度都是可选的,其默认值是零。 许多元素将会由浏览器自身设置不同的外边距和内边距,可以通过将元素的margin和padding设置为零来覆盖这些浏览器样式,已实现元素在不同浏览其中样式的统一。

1.盒子 1.1元素盒子 外边距 外边距相当于文档中的页边距,是元素边框边缘与相邻元素之间的距离,主要用来分割各种元素,设置元素之间的距离。如下图中,浅灰色部分表示盒子的外边距。

1.盒子 1.1元素盒子 外边距 使用margin属性来定义元素外边距,属性值单位可以为长度单位(px、pt、em、ex、in)或百分比,取值可以为正值或负值。 同时外边距还有专门设置某一方向上外边距的属性:margin-top、margin-right、margin-bottom、margin-left五种属性。

1.盒子 margin属性 margin可以设置为auto。常见的做法是为外边距设置固定的长度值。 1.1元素盒子 margin属性 margin可以设置为auto。常见的做法是为外边距设置固定的长度值。 还可以为margin设置一个百分比数值。百分比数是相对于父元素的width计算的。

1.盒子 值复制 在Web前端开发中,有时需要输入一些重复的值。例如: 1.1元素盒子 值复制 在Web前端开发中,有时需要输入一些重复的值。例如: 这种情况下可以使用值复制,不必重复地键入相同的数字。上面的规则与下面的规则是等价的。

1.盒子 值复制的规则如下: 如果缺少左外边距的值,则使用右外边距的值。 如果缺少下外边距的值,则使用上外边距的值。 1.1元素盒子 值复制的规则如下: 如果缺少左外边距的值,则使用右外边距的值。 如果缺少下外边距的值,则使用上外边距的值。 如果缺少右外边距的值,则使用上外边距的值。

1.盒子 值复制的规则如下: 如果为外边距指定了3个值,则第4个值(即左外边距)会从第2个值(右外边距)复制得到。 1.1元素盒子 值复制的规则如下: 如果为外边距指定了3个值,则第4个值(即左外边距)会从第2个值(右外边距)复制得到。 如果给定了2个值,第4个值会从第2个值复制得到,第3个值(下外边距)会从第1个值(上外边距)复制得到。 如果只给定一个值,那么其他3个外边距都由这个值(上外边距)复制得到。

1.盒子 1.1元素盒子 值复制的规则如下: 利用这个简单的机制,只需指定必要的值,而不必全部都应用4个值。例如:

1.盒子 1.1元素盒子 单边外边距属性 使用单边外边距属性可以为元素单边上的外边距设置值。例如把p元素的左外边距设置为20px。

1.盒子 1.1元素盒子 外边距合并 外边距合并指的是,当两个垂直外边距相遇时,它们将形成一个外边距。合并后的外边距的高度等于两个发生合并的外边距的高度中的较大者。

1.盒子 1.1元素盒子 外边距合并 当一个元素出现在另一个元素上面时,第一个元素的下外边距与第二个元素的上外边距会发生合并。

1.盒子 外边距合并 当一个元素包含在另一个元素中时(假设没有内边距或边框把外边距分隔开),它们的上和/或下外边距也会发生合并。 1.1元素盒子 外边距合并 当一个元素包含在另一个元素中时(假设没有内边距或边框把外边距分隔开),它们的上和/或下外边距也会发生合并。

1.盒子 1.1元素盒子 外边距合并 一个空元素,它有外边距,但是没有边框或填充,这种情况下,上外边距与下外边距就碰到了一起,就会发生合并。

1.盒子 1.1元素盒子 外边距合并 如果空元素外边距遇到另一个元素的外边距,也会发生合并。

1.盒子 外边距合并初看上去可能有点奇怪,但实际上,它是有意义的。 1.1元素盒子 外边距合并初看上去可能有点奇怪,但实际上,它是有意义的。 如下图所示,段落之间的上外边距和下外边距就合并在一起,这样各处的距离就一致了。 注:只有普通文档流中块框的垂直外边距才会发生外边距合并。行内框、浮动框或绝对定位之间的外边距不会合并。

现场演示: 案例10-01:外边距示例

1.盒子 1.1元素盒子 边框:border 边框在网页布局中就是用来分割模块。如下图中,黑色表示盒子的边框。

1.盒子 1.1元素盒子 边框可以指定样式、颜色或宽度。宽度属性值可以指定长度值,比如2px或0.1em;或者使用3个关键字(thin、medium(默认值)和thick)之一。 边框颜色可以省略,浏览器就会根据默认值来解析。当元素各边框定义不同颜色时,边角会平分来划分颜色的分布。

1.盒子 1.1元素盒子 border常用属性 边框有border、border-style、border-width、border-color 、border-top、border-right、border-bottom、border-left八种常用属性。

现场演示: 案例10-02:边框

1.盒子 1.1元素盒子 内边距:padding 内边距就是元素包含的内容与元素边框内边沿之间的距离。如下图中,深灰色表示盒子的内边距。

1.盒子 1.1元素盒子 内边距:padding 定义内边距使用padding属性,属性值单位可以为长度单位(px、pt、em、ex)或百分比,取值可以为正值,但不允许使用负数值。内边距有padding、padding-top、padding-right、padding-bottom、padding-left五种属性。

1.盒子 1.1元素盒子 内边距:padding

1.盒子 padding属性 设置h1元素的各边都有10像素的内边距。 1.1元素盒子 padding属性 设置h1元素的各边都有10像素的内边距。 按照上、右、下、左的顺序分别设置各边的内边距,各边均可以使用不同的单位或百分比值,例如:

1.盒子 1.1元素盒子 单边内边距属性 通过使用单边内边距属性,可以分别设置上、右、下、左内边距。例如:

1.盒子 内边距的百分比数值 下面这条规则把段落的内边距设置为父元素width的10%。 1.1元素盒子 内边距的百分比数值 下面这条规则把段落的内边距设置为父元素width的10%。 如果一个段落的父元素是div元素,那么它的内边距要根据div的width计算。例如:

1.盒子 内边距与外边距在用法上有很大的相似性。但是在使用时应该了解内边距的几不同的特性: 1.1元素盒子 内边距与外边距在用法上有很大的相似性。但是在使用时应该了解内边距的几不同的特性: 当元素没有定义边框时,可以把内边距当作外边距来使用,用来调节元素与其它元素之间的距离。由于外边距相邻时会出现重叠现象,而且比较复杂,使用内边距来调节元素之间的距离往往不用考虑边距重叠的问题。 当为元素定义背景时,对于外边距区域来说,背景图像是不显示的,它永远表现为透明状态;而内边距区域却可以显示背景。 行内元素的内边距能够影响元素边框的大小,而外边距不存在这样的问题。

现场演示: 案例10-03:内边距

1.盒子 1.1元素盒子 宽和高:width/height 这里要讲的宽和高,指的是元素内容区域的宽和高,不是盒子的实际宽度和高度。如下图中,白色部分表示元素的宽和高。 元素的宽度指width的属性值,高度指height的属性值。属性值单位可以为长度单位(px、pt、em、ex、in)或百分比,取值为正值。

1.盒子 1.2尺寸 W3C标准盒子模型 目前浏览器大部分元素都是基于此模型,在内容区外面,依次围绕着 padding区,border区,margin区。盒子的宽度和高度计算公式如下: 盒子的宽度=margin-left + border-left + padding-left + width + pdding-right + border-right + margin-right。 盒子的高度=margin-top + border-top + padding-top + height + pdding-bottom + border-bottom + margin-bottom。

盒子的尺寸

1.盒子 IE传统盒子模型 这种盒子模型主要存在于IE6以下版本浏览器(不包括IE6或QuirksMode下IE5.5+)。 1.2尺寸 IE传统盒子模型 这种盒子模型主要存在于IE6以下版本浏览器(不包括IE6或QuirksMode下IE5.5+)。 虽然市面上用IE6以下的浏览器应该相当少,但是由于form中部分元素还基于传统的盒子模型此种模型依然被CSS3保留使用。盒子的宽度和高度计算公式如下: 盒子的宽度=margin - left + width + margin - right。 盒子的高度=margin - top + height + margin - bottom。

2.盒子类型 2.1盒子的基本类型 CSS提供了display属性来控制盒子的类型,盒子的基本类型如表所示。

2.盒子类型 2.1盒子的基本类型 none display属性可指定为none值,用于设置目标对象隐藏,一旦该对象隐藏,其占用的页面空间也会释放。与此类似的还有visibility属性,该属性也可用于设置目标对象是否显示。与display属性不同,当通过visibility隐藏某个HTML元素后,该元素占用的页面空间依然会被保留。visibility属性的两个常用值为visible和hidden,分别用于控制目标对象的显示和隐藏。

现场演示: 案例10-04: display属性值none

2.盒子类型 2.1盒子的基本类型 block block类型的盒子会占据一行,允许通过CSS设置高度和宽度。一些元素默认就是block类型,比如div、p等。 inline inline类型的盒子不会占据一行(默认允许在一行放置多个元素),即使用CSS设置宽度和高度也不会起作用。一些元素默认就是inline类型,比如span、a。

现场演示: 案例10-05:display属性值block与inline

2.盒子类型 2.1盒子的基本类型 inline-block 通过为display属性设置inline-block,即可实现这种盒子类型,它是inline和block的综合体,inline-block类型既不会占据一行,也支持width和height指定宽度和高度。

现场演示: 案例10-06:display属性值inline-block

2.盒子类型 list-item list-item可以将目标元素转换为类似ul的列表元素,也可以同时在元素前添加列表标志。 2.1盒子的基本类型 list-item list-item可以将目标元素转换为类似ul的列表元素,也可以同时在元素前添加列表标志。

现场演示: 案例10-07:display属性值list-item

2.盒子类型 2.1盒子的基本类型 inline-table 在默认情况下,table元素属于block类型,也就是说,该元素默认占据一行,它的左边不允许出现其他内容,它的右边也不允许出现其他内容。 CSS为table元素提供了一个inline-table类型,它允许设置表格的width、height值,而且允许它的左边、右边出现其他内容。

现场演示: 案例10-08:display属性值inline-table

2.盒子类型 表格相关的盒子类型 除inline-table类型外,CSS3还为display提供了如下属性值。 2.1盒子的基本类型 表格相关的盒子类型 除inline-table类型外,CSS3还为display提供了如下属性值。 table:此元素会作为块级表格来显示,表格前后带有换行符。 table-row-group:此元素会作为一个或多个行的分组来显示。 table-header-group:此元素会作为一个或多个行的分组来显示。 table-footer-group:此元素会作为一个或多个行的分组来显示。 table-row:此元素会作为一个表格行显示。 table-column-group:此元素会作为一个或多个列的分组来显示。 table-column:此元素会作为一个单元格列显示。 table-cell:此元素会作为一个表格单元格显示。 table-caption:此元素会作为一个表格标题显示。

现场演示: 案例10-09:表格相关的盒子类型

2.盒子类型 2.1盒子的基本类型 run-in run-in类型有点相似与inline类型,run-in类型的元素希望显示在他后面的元素内部;如果run-in类型的元素后面紧跟一个block类型的元素,那么run-in类型的元素将被放入后面的元素中显示。

现场演示: 案例10-10:display属性值run-in

2.盒子类型 2.2 CSS3新增的类型 CSS3对display的属性值进行了补充,CSS3新增的类型如表所示。

2.盒子类型 2.2 CSS3新增的类型 ruby ruby相关的盒子类型是CSS3新增的盒子类型,常用在文本注释或标注文本的发音,Chrome中暂不支持该类型,可在IE8及IE8以上版本浏览器中测试ruby相关的盒子类型。

现场演示: 案例10-11:ruby相关的盒子类型

2.盒子类型 2.2 CSS3新增的类型 box box类型还没有得到firefox、Opera、chrome浏览器的完全支持,但可以使用它们的私有属性定义firefox(-moz-)、opera(-o-)、chrome/safari(-webkit-)。 box类型盒子的属性说明如表所示。

2.盒子类型 2.2 CSS3新增的类型 box-align有start、end、center、baseline、stretch五种属性值。

2.盒子类型 2.2 CSS3新增的类型 box-pack有 start、end、center、justify四种属性值。

现场演示: 案例10-12:属性box-align和box-pack

2.盒子类型 2.2 CSS3新增的类型 box-direction有normal、reverse、inherit三种属性值。

现场演示: 案例10-13:属性box-direction

2.盒子类型 2.2 CSS3新增的类型 box-flex属性规定框的子元素是否可伸缩其尺寸。

现场演示: 案例10-14:属性box-fiex

2.盒子类型 box-ordinal-group属性规定框中子元素的显示次序,值更低的元素会显示在值更高的元素前面显示,其取值只能为整数。 2.2 CSS3新增的类型 box-ordinal-group属性规定框中子元素的显示次序,值更低的元素会显示在值更高的元素前面显示,其取值只能为整数。

现场演示: 案例10-15:属性box-ordinal-group

2.盒子类型 2.3浏览器对盒子的支持情况 各浏览器对盒子的支持情况如表所示。

3.盒子的属性 3.1内容溢出 如在样式中指定了盒子的宽度和高度,就可能出现内容在盒子中容纳不下的情况,可以使用overflow属性来指定如何显示盒子中容纳不下的内容。同时,与overflow属性相关的还有overflow-x属性、overflow-y属性及text-overflow属性。

3.盒子的属性 3.1内容溢出 overflow 使用overflow属性来指定对于盒子中容纳不下的内容的显示方法。overflow有visible、hidden、scroll、auto、inherit五种属性值。

现场演示: 案例10-16:属性overflow

3.盒子的属性 overflow-x和overflow-y 3.1内容溢出 overflow-x和overflow-y 使用overflow-x属性或overflow-y属性,可以单独指定在水平方向上或垂直方向上内容超出盒子的容纳范围时的显示方法,使用方法与overflow属性的使用方法相似。

3.盒子的属性 overflow-x和overflow-y 3.1内容溢出 overflow-x和overflow-y overflow-x和overflow-y有visible、hidden、scroll、auto、no-display、no-content六种属性值,如表所示。

现场演示: 案例10-17:属性overflow-x和属性overflow-y

3.盒子的属性 3.1内容溢出 text-overflow 当通过把overflow属性的属性值设为“hidden”的方法,将盒子中容纳不下的内容隐藏起来时,如果使用text-overflow属性,可以在盒子的末尾显示一个代表省略的符号“…”。但是,text-overflow属性只在当盒子中内容水平方向上超出盒子的容纳范围时有效。 text-overflow有clip、ellipsis、string三种属性值,如表所示。

现场演示: 案例10-18:属性text-overflow

3.盒子的属性 为了增强用户体验,CSS增加了一个非常实用的属性resize,它允许用户通过拖动的方式来修改元素的尺寸,改变元素的大小。 3.2自由缩放 为了增强用户体验,CSS增加了一个非常实用的属性resize,它允许用户通过拖动的方式来修改元素的尺寸,改变元素的大小。 resize有none、both、horizontal、vertical、inherit五种属性值,如表所示。

现场演示: 案例10-19:属性resize

3.盒子的属性 3.3外轮廓 外轮廓outline在页面中呈现的效果和边框border呈现的效果极其相似,但和元素边框border完全不同,外轮廓线不占用网页布局空间,不一定是矩形,外轮廓属于一种动态样式,只有元素获取到焦点或者被激活时呈现。 外轮廓有outline-color、outline-style、outline-width、outline-offset、inherit五种属性,如表所示。

3.盒子的属性 3.3外轮廓 outline-color 定义外轮廓线的颜色,默认值为黑色。属性值为CSS中定义的颜色值。可以为颜色值为颜色名称(比如 red、blue)、十六进制值(比如 #ff0000、#cccccc)、rgb 代码(比如 rgb(255,0,0)、rgb(167、167、167)。

3.盒子的属性 3.3外轮廓 outline-style 定义外轮廓线的样式,在实际应用中,省略此参数外轮廓默认值为none,不绘制外轮廓线。outline-style的属性值如表所示。

3.盒子的属性 3.3外轮廓 outline-width 定义外轮廓的宽度。在实际应用中,省略此参数外轮廓默认值为medium,表示绘制中等宽度的外轮廓线。outline-width的属性值如表所示。

3.盒子的属性 3.3外轮廓 outline-offset 定义外轮廓的偏移位置,此值可以为负值。当此参数的值为正数值,表示外轮廓向外偏离多少个像素;当此参数的值为负数值,表示外轮廓向内偏移了多少像素。

现场演示: 案例10-20:外轮廓

3.盒子的属性 3.4阴影 在CSS3中,可以使用box-shadow属性让盒子在显示时产生阴影效果。

3.盒子的属性 box-shadow属性 box-shadow属性可以为所有盒子模型的元素整体增加阴影,是一个复合属性。该属性值如表所示。 3.4阴影 box-shadow属性 box-shadow属性可以为所有盒子模型的元素整体增加阴影,是一个复合属性。该属性值如表所示。

现场演示: 案例10-21:属性box-shadow

3.盒子的属性 对第一个文字或第一行使用阴影 使用first-letter选择器或first-line选择器可以只让第一个文字具有阴影效果。 3.4阴影 对第一个文字或第一行使用阴影 使用first-letter选择器或first-line选择器可以只让第一个文字具有阴影效果。

现场演示: 案例10-22:对第一个文字实阴影

3.盒子的属性 3.4阴影 对表格及单元格使用阴影。 使用box-shadow属性可以让表格及表格内的单元格产生阴影效果。

现场演示: 案例10-23:对表格及单元格使用阴影

4.浏览器的盒子调试 在Internet Explorer浏览器中进行盒子调试

盒子的样式 盒子的布局

4.浏览器的盒子调试 在Firefox浏览器中进行盒子调试

盒子元素模型

4.浏览器的盒子调试 在Google Chrome浏览器中进行盒子调试

盒子元素的样式和模型

现场演示: 案例10-24:浏览器中的盒子调试

Thanks.