SlideShare ist ein Scribd-Unternehmen logo
1 von 31
新业务新人培训课程计划 《页面制作-布局原理》 F2E 霸先
渲染引擎 渲染过程简介 盒模型 栅格 基本代码结构 布局
渲染引擎 渲染过程简介 盒模型 栅格 基本代码结构 布局
浏览器
渲染引擎
渲染引擎
渲染引擎 渲染过程简介 盒模型 栅格 基本代码结构 布局
渲染过程简介
渲染过程简介 用户输入网址(假设是个html页面,并且是第一次访问),浏览器向服务器发出请求,服务器返回html文件; 浏览器开始载入html代码,发现<head>标签内有一个<link>标签引用外部CSS文件; 浏览器又发出CSS文件的请求,服务器返回这个CSS文件; 浏览器继续载入html中<body>部分的代码,并且CSS文件已经拿到手了,可以开始渲染页面了;
渲染过程简介 浏览器在代码中发现一个<img>标签引用了一张图片,向服务器发出请求。此时浏览器不会等到图片下载完,而是继续渲染后面的代码; 服务器返回图片文件,由于图片占用了一定面积,影响了后面段落的排布,因此浏览器需要回过头来重新渲染这部分代码; 浏览器发现了一个包含一行javascript代码的<script>标签,赶快运行它; javascript脚本执行了这条语句,它命令浏览器隐藏掉代码中的某个<div>(style.display=”none”)。杯具啊,突然就少了这么一个元素,浏览器不得不重新渲染这部分代码;
渲染过程简介 终于等到了</html>的到来,浏览器泪流满面…… 等等,还没完,用户点了一下界面中的“换肤”按钮,javascript让浏览器换了一下<link>标签的CSS路径; 浏览器召集了在座的各位<div><span><ul><li>们,“大伙儿收拾收拾行李,咱得重新来过……”,浏览器向服务器请求了新的CSS文件,重新渲染页面。
Reflow&Repaint的原因 调整窗口大小(Resizing the window) 改变字体(Changing the font) 增加或者移除样式表(Adding or removing a stylesheet) 内容变化,比如用户在input框中输入文字(Content changes, such as a user typing text in an input box)
Reflow&Repaint的原因 激活 CSS 伪类,比如 :hover (IE 中为兄弟结点伪类的激活)(Activation of CSS pseudo classes such as :hover (in IE the activation of the pseudo class of a sibling)) 操作 class 属性(Manipulating the class attribute) 脚本操作 DOM(A script manipulating the DOM) 计算 offsetWidth和 offsetHeight属性(Calculating offsetWidth and offsetHeight) 设置 style 属性的值 (Setting a property of the style attribute)
如何避免Reflow&Repaint 如果想设定元素的样式,通过改变元素的 class 名 (尽可能在 DOM 树的最里层)(Change classes on the element you wish to style (as low in the dom tree as possible)) 避免设置多项内联样式(Avoid setting multiple inline styles) 应用元素的动画,使用 position 属性的 fixed 值或 absolute 值(Apply animations to elements that are position fixed or absolute) 权衡平滑和速度(Trade smoothness for speed) 避免使用 table 布局(Avoid tables for layout) 避免使用CSS的 JavaScript 表达式 (仅 IE 浏览器)(Avoid JavaScript expressions in the CSS (IE only))
渲染引擎 渲染过程简介 盒模型 栅格 基本代码结构 布局
盒模型原理
盒模型原理 width是content的宽度,quicksmode下是padding+border+content的宽度 css规范指出,边框绘制在“元素的背景之上”; css2指出,背景只延伸到padding; css2.1更正为:元素的背景是内容、内边距和边框区的背景 background-color和background-image在ff、safari、opera、chrome下表现一致,都从border开始 Ie6、7所有模式下,background-image和background-color都是从padding开始,ie8 quicksmode下也如此 浏览器把所有元素都看成长方形
渲染引擎 渲染过程简介 盒模型 栅格 基本代码结构 布局
栅格
栅格系统定义 栅格系统的英文为“Grid Systems”,又称网格设计系统、标准尺寸系统、程序版面设计、瑞士平面设计风格、国际主义平面设计风格。栅格系统以规则的网格阵列来指导和规范版面布局以及信息分布,是一种平面设计的方法与风格。栅格系统的使用不仅可以让信息的呈现更加美观易读,而且为前期规划和后续设计带来更多的灵活与规范。 《栅格系统与版式设计》 http://book.douban.com/subject/1491830/
栅格系统发展及现状 根据维基百科 的描述,1692年,法国国王路易十四因不满当时的印刷水平,下令由数学家尼古拉斯领导成立管理印刷的皇家特别委员会,旨在设计科学合理而且实用的新字体。他们以罗马体为基础,每个字体分为64个以方格为单元的基本单位,每个单位再分成36个小格,形成有2304个小格的网格。他们在这个严谨的几何网格中设计字体和版面编排,这是栅格系统的开端。   1919年德国著名建筑家沃尔特•格罗佩斯在魏玛建立国立包豪斯学院,成为继荷兰“风格派”运动、俄国“构成主义”运动之外的现代主义设计运动中心。在它们的交互影响下,平面设计带有明显的栅格系统的特点,即:高度理性、简约主义、功能化和几何形式化的风格。   
栅格系统发展及现状   1959年,在包豪斯的理性设计为基础发展起来的、以瑞士出版的《新平面设计》杂志为标志的“瑞士平面设计”或“国际主义平面设计”因简洁洗练,传达清晰准确而日渐流行。该流派“主张段落分明,功能明确,强调将逻辑排列视为观察外界事物的出发点”,使用近乎标准化的比例公式制作栅格系统,以便精确而优美地配置图片和文字,是二战后影响最大、最具时代精神的设计风格。   20世纪60年代,“瑞士平面设计风格”在美国的快速推广和广泛运用,大量应用栅格系统进行设计,追求平面设计的标准化和清晰良好的视觉传达功能,使美国平面设计的水平迅速提高,对美国出版业产生了巨大的、积极的促进作用,可视为欧洲在二战后对各方面都处于强势地位的美国的一次强力的文化输出。依托美国的强大经济实力,“瑞士风”的影响进一步扩展到全世界。   随着中国经济的发展和文化等领域的日渐开放,栅格系统开始进入中国设计领域。但因为各种原因,栅格系统的并不被真正重视,只在某些领域如报纸、杂志期刊等领域因为栅格系统的高效率被广泛应用,但对其比例、美感和风格的追求始终差强人意。很多设计虽然设计精美,秩序井然,明显有栅格系统的影响,但更多是设计师积累多年经验之后无意识的使用,对栅格系统仍然不甚了了。近年来尽管许多设计家如书籍装帧大家余秉楠等大力推广栅格系统,但栅格系统在中国仍在起步阶段,需要一个接受和消化的过程。
网页中栅格的一些实现 Float布局 960 grids YUI2 css grids The 1KB css grids 表格布局 负边距布局 YUI2 cssgrids 绝对定位布局 inline-block布局法 YUI3 css grids(推荐)
YUI3 css grids 支持任意宽度,使用inline-block实现 将宽度按照124等分,最小1/24,最大100%,基本兼容大部分布局
示例
基本代码结构
基本代码结构 所有css放在header区,按需加载的除外,combo为一个文件 js放body后面,页面加载速度最快,用户可交互时间长 js放头部当元素available的时候加载,可交互时间短,页面load时间长 划分好页面功能模块,细分js,在重要模块html完成后立即加载其对应的js,保证可交互时间,不重要的功能在页面加载后再执行 重的页面按需加载 Velocity 2010:Fast By Default
Liquid layout
Liquid layout 一般是百分比配合float或者负边距实现 详情参照《CSS Mastery》 优点 流动布局页面对用户更友好,因为它能自适应用户的设置。 页面周围的空白区域在所有分辨率和浏览器下都是相同的,在视觉上更美观。 如果设计良好,流动布局可以避免在小分辨率下出现水平滚动条。 缺点 设计者更难控制用户所见,并可能忽略掉一些错误,因为在特定的分辨率下看起来好的。 图片,视频以及其他设置了宽度的内容可能需要多种宽度以适应不同分辨率的用户。 在特别大的分辨率下,内容会被拉成长长的一行,变得难以阅读。
fixed layout 固定宽度 优点 固定宽度布局更容易使用,在设计方面更容易定制。 在所有浏览器中宽度一样,所以不会受到图片、表单、视频和其他固定宽度内容的麻烦。 不需要min-width和max-width,所有浏览器都支持。 即使需要兼容800×600这么小的分辨率,网页的主体内容仍然有足够的宽度易于阅读。 缺点 对于使用高分辨率的用户,固定宽度布局会留下很大的空白。因此出现了“黄金比例”,“三分定律”,综合平衡和其他设计原则。 屏幕分辨率过小时需要垂直滚动条。 无缝纹理,连续的图案需要适应更大的分辨率。 固定宽度布局一般在可用性上得分较低。
END

Weitere ähnliche Inhalte

Was ist angesagt?

Js doc toolkit
Js doc toolkitJs doc toolkit
Js doc toolkitjay li
 
Re Introduce Web Development
Re Introduce Web DevelopmentRe Introduce Web Development
Re Introduce Web Developmentfinian lau
 
HTML 入門 - 前端工程開發實務訓練
HTML 入門 - 前端工程開發實務訓練HTML 入門 - 前端工程開發實務訓練
HTML 入門 - 前端工程開發實務訓練Joseph Chiang
 
CSS 入門 - 前端工程開發實務訓練
CSS 入門 - 前端工程開發實務訓練CSS 入門 - 前端工程開發實務訓練
CSS 入門 - 前端工程開發實務訓練Joseph Chiang
 
Web前端标准在各浏览器中的实现差异
Web前端标准在各浏览器中的实现差异Web前端标准在各浏览器中的实现差异
Web前端标准在各浏览器中的实现差异cleverpig
 
网易相册前端页面开发规范2010版
网易相册前端页面开发规范2010版网易相册前端页面开发规范2010版
网易相册前端页面开发规范2010版昌里大金猪 Luke
 

Was ist angesagt? (6)

Js doc toolkit
Js doc toolkitJs doc toolkit
Js doc toolkit
 
Re Introduce Web Development
Re Introduce Web DevelopmentRe Introduce Web Development
Re Introduce Web Development
 
HTML 入門 - 前端工程開發實務訓練
HTML 入門 - 前端工程開發實務訓練HTML 入門 - 前端工程開發實務訓練
HTML 入門 - 前端工程開發實務訓練
 
CSS 入門 - 前端工程開發實務訓練
CSS 入門 - 前端工程開發實務訓練CSS 入門 - 前端工程開發實務訓練
CSS 入門 - 前端工程開發實務訓練
 
Web前端标准在各浏览器中的实现差异
Web前端标准在各浏览器中的实现差异Web前端标准在各浏览器中的实现差异
Web前端标准在各浏览器中的实现差异
 
网易相册前端页面开发规范2010版
网易相册前端页面开发规范2010版网易相册前端页面开发规范2010版
网易相册前端页面开发规范2010版
 

Andere mochten auch

Goodreads roundtable
Goodreads roundtableGoodreads roundtable
Goodreads roundtablekatsok
 
List of potential songs
List of potential songsList of potential songs
List of potential songsniksmedia
 
Clap 2013 rgb power
Clap 2013 rgb powerClap 2013 rgb power
Clap 2013 rgb powerDaryl Hurd
 
Sr2104 instalación y montaje
Sr2104 instalación y montajeSr2104 instalación y montaje
Sr2104 instalación y montajeSimon Chaler
 

Andere mochten auch (6)

Goodreads roundtable
Goodreads roundtableGoodreads roundtable
Goodreads roundtable
 
List of potential songs
List of potential songsList of potential songs
List of potential songs
 
Starting a gtg
Starting a gtgStarting a gtg
Starting a gtg
 
Thank You
Thank YouThank You
Thank You
 
Clap 2013 rgb power
Clap 2013 rgb powerClap 2013 rgb power
Clap 2013 rgb power
 
Sr2104 instalación y montaje
Sr2104 instalación y montajeSr2104 instalación y montaje
Sr2104 instalación y montaje
 

Ähnlich wie 布局原理

Inside the-browser
Inside the-browserInside the-browser
Inside the-browserjy03845581
 
Inside the browser
Inside the browserInside the browser
Inside the browserotakustay
 
[2008]网站重构 -who am i
[2008]网站重构 -who am i[2008]网站重构 -who am i
[2008]网站重构 -who am iTwinsen Liang
 
高性能网站最佳实践
高性能网站最佳实践高性能网站最佳实践
高性能网站最佳实践longhao
 
Website Pracice Focusing on UX, Chinese
Website Pracice Focusing on UX, ChineseWebsite Pracice Focusing on UX, Chinese
Website Pracice Focusing on UX, Chinesemultiple1902
 
前端開發學習簡介
前端開發學習簡介前端開發學習簡介
前端開發學習簡介peterju
 
Real World ASP.NET MVC
Real World ASP.NET MVCReal World ASP.NET MVC
Real World ASP.NET MVCjeffz
 
twMVC#04 | ASP.NET MVC - Code Templates實戰開發
twMVC#04 | ASP.NET MVC - Code Templates實戰開發twMVC#04 | ASP.NET MVC - Code Templates實戰開發
twMVC#04 | ASP.NET MVC - Code Templates實戰開發twMVC
 
ASP.NET MVC Code Templates實戰開發 -twMVC#4
 ASP.NET MVC Code Templates實戰開發 -twMVC#4 ASP.NET MVC Code Templates實戰開發 -twMVC#4
ASP.NET MVC Code Templates實戰開發 -twMVC#4twMVC
 
价值中国网站开发、管理经验探讨、分享、交流
价值中国网站开发、管理经验探讨、分享、交流价值中国网站开发、管理经验探讨、分享、交流
价值中国网站开发、管理经验探讨、分享、交流hizhubo
 
前端性能测试
前端性能测试前端性能测试
前端性能测试tbmallf2e
 
ASP.Net MVC2 简介
ASP.Net MVC2 简介ASP.Net MVC2 简介
ASP.Net MVC2 简介Allen Lsy
 
基于Greasemonkey的Firefox浏览器扩展
基于Greasemonkey的Firefox浏览器扩展基于Greasemonkey的Firefox浏览器扩展
基于Greasemonkey的Firefox浏览器扩展agen
 
twMVC#01 | ASP.NET MVC 的第一次親密接觸
twMVC#01 | ASP.NET MVC 的第一次親密接觸twMVC#01 | ASP.NET MVC 的第一次親密接觸
twMVC#01 | ASP.NET MVC 的第一次親密接觸twMVC
 
网站重构&Web标准设计第二版
网站重构&Web标准设计第二版网站重构&Web标准设计第二版
网站重构&Web标准设计第二版志勇 孙
 
HTML & JavaScript
HTML & JavaScriptHTML & JavaScript
HTML & JavaScriptSanji Zhang
 
ASP.NET Core 2.1設計新思維與新發展
ASP.NET  Core 2.1設計新思維與新發展ASP.NET  Core 2.1設計新思維與新發展
ASP.NET Core 2.1設計新思維與新發展江華 奚
 
基于Greasemonkey的Firefox浏览器扩展
基于Greasemonkey的Firefox浏览器扩展基于Greasemonkey的Firefox浏览器扩展
基于Greasemonkey的Firefox浏览器扩展agen
 
Asp.net mvc網站的從無到有
Asp.net mvc網站的從無到有Asp.net mvc網站的從無到有
Asp.net mvc網站的從無到有Wade Huang
 

Ähnlich wie 布局原理 (20)

Inside the-browser
Inside the-browserInside the-browser
Inside the-browser
 
Inside the browser
Inside the browserInside the browser
Inside the browser
 
[2008]网站重构 -who am i
[2008]网站重构 -who am i[2008]网站重构 -who am i
[2008]网站重构 -who am i
 
高性能网站最佳实践
高性能网站最佳实践高性能网站最佳实践
高性能网站最佳实践
 
Website Pracice Focusing on UX, Chinese
Website Pracice Focusing on UX, ChineseWebsite Pracice Focusing on UX, Chinese
Website Pracice Focusing on UX, Chinese
 
前端開發學習簡介
前端開發學習簡介前端開發學習簡介
前端開發學習簡介
 
Real World ASP.NET MVC
Real World ASP.NET MVCReal World ASP.NET MVC
Real World ASP.NET MVC
 
twMVC#04 | ASP.NET MVC - Code Templates實戰開發
twMVC#04 | ASP.NET MVC - Code Templates實戰開發twMVC#04 | ASP.NET MVC - Code Templates實戰開發
twMVC#04 | ASP.NET MVC - Code Templates實戰開發
 
ASP.NET MVC Code Templates實戰開發 -twMVC#4
 ASP.NET MVC Code Templates實戰開發 -twMVC#4 ASP.NET MVC Code Templates實戰開發 -twMVC#4
ASP.NET MVC Code Templates實戰開發 -twMVC#4
 
价值中国网站开发、管理经验探讨、分享、交流
价值中国网站开发、管理经验探讨、分享、交流价值中国网站开发、管理经验探讨、分享、交流
价值中国网站开发、管理经验探讨、分享、交流
 
前端性能测试
前端性能测试前端性能测试
前端性能测试
 
ASP.Net MVC2 简介
ASP.Net MVC2 简介ASP.Net MVC2 简介
ASP.Net MVC2 简介
 
基于Greasemonkey的Firefox浏览器扩展
基于Greasemonkey的Firefox浏览器扩展基于Greasemonkey的Firefox浏览器扩展
基于Greasemonkey的Firefox浏览器扩展
 
twMVC#01 | ASP.NET MVC 的第一次親密接觸
twMVC#01 | ASP.NET MVC 的第一次親密接觸twMVC#01 | ASP.NET MVC 的第一次親密接觸
twMVC#01 | ASP.NET MVC 的第一次親密接觸
 
网站重构&Web标准设计第二版
网站重构&Web标准设计第二版网站重构&Web标准设计第二版
网站重构&Web标准设计第二版
 
HTML & JavaScript
HTML & JavaScriptHTML & JavaScript
HTML & JavaScript
 
ASP.NET Core 2.1設計新思維與新發展
ASP.NET  Core 2.1設計新思維與新發展ASP.NET  Core 2.1設計新思維與新發展
ASP.NET Core 2.1設計新思維與新發展
 
基于Greasemonkey的Firefox浏览器扩展
基于Greasemonkey的Firefox浏览器扩展基于Greasemonkey的Firefox浏览器扩展
基于Greasemonkey的Firefox浏览器扩展
 
J Query Learn
J Query LearnJ Query Learn
J Query Learn
 
Asp.net mvc網站的從無到有
Asp.net mvc網站的從無到有Asp.net mvc網站的從無到有
Asp.net mvc網站的從無到有
 

布局原理