几个前端工程师应当掌握的“词语”

HTML5学堂-码匠:W3C、BFC、FOUC、Hack、GPU、Sprite、UA……各类前端术语知多少?

有不少前端开发工程师,可能并不清楚下面的部分词语,但是在实战中其实都在使用着它们。

明确一下这些词语和概念没有什么不好~一方面能够让自己能够更专业的谈论知识,另一方面,在面试的时候也能够应对一些“爱问前端名词”的面试官~

W3C

W3C是World Wide Web Consortium的缩写,表示的是“万维网联盟”。~

W3C是WEB技术领域,国际中立性技术标准机构。主要工作是发展WEB规范。

BFC

什么是BFC

BFC是Block formatting context的缩写,表示的是“块级格式化上下文”。

设置BFC的元素/盒子,是一个独立的渲染区域,只有Block-level box参与, 它规定了内部的Block-level Box如何布局(与该区域外部无关)。

BFC相关说明

在HTML当中,每个元素都可以看做一个盒子(BOX),而不同盒子的“展示”类型有所不同。

Formatting context是页面中的一块渲染区域,并且有一套渲染规则。它用来决定:其子元素将如何定位,以及和其他元素的关系和相互作用。

最常见的 Formatting context 有 :

● Block fomatting context (简称BFC);

● Inline formatting context (简称IFC);

● CSS3 中新增 GFC 和 FFC。

为元素设置哪些属性时,可以触发BFC布局

● 设置float属性(属性值不为none)时;

● 设置position属性为absolute或fixed;

● 设置display为inline-block, table-cell, table-caption, flex, inline-flex中的一种;

● 设置overflow属性(属性值不为visible)时。

BFC布局的规则

HTML5学堂(码匠):如下部分请细细咀嚼,想象平日设置浮动元素的场景,会更容易理解。

● Box垂直方向的距离由margin决定。属于同一个BFC的两个相邻Box的margin会发生重叠;

● BFC容器里面的子元素不会影响到外面的元素;

● 设置BFC的元素的内部元素,会在垂直方向一个接一个地放置;

● 每个设置BFC的元素的左侧margin, 与包含块(父元素)border的左边相接触(对于从左往右的格式化,否则相反),即使存在浮动也是如此;

● BFC的区域不与float元素相重叠;

● 计算BFC的高度时,浮动元素也参与计算。

BFC布局的触发,用途有哪些

● 设置overflow: hidden来清除浮动;

● 通过设置浮动属性,防止margin重叠。

FOUC

什么是FOUC

FOUC是Flash Of Unstyled Content的缩写,指的是加载网页时出现的短暂的CSS样式失效。

造成FOUC问题的原因是什么

文档样式闪烁成因:在IE5+浏览器中,如果IE的临时文件夹没有缓存过该页面的CSS文件;出现了样式表位置异常现象(使用import方法导入样式表、将样式表放在页面底部、多个样式表放置在html结构的不同位置等)

网页会优先加载整个HTML文档的DOM,然后再去导入外部的CSS文件,因此,在页面DOM加载完成到CSS导入完成的过程中,会有一段时间页面上的内容是没有样式的,这段时间的长短跟网速,电脑速度都有关系。

Hack

什么是Hack

Hack,英文含义为“修改”。由于不同的浏览器对CSS的支持程度不同,同样CSS的样式代码在不同浏览器当中的表现可能出现不一致。为了让所有浏览器样式统一,有时需要为某种浏览器设置不同于其他浏览器的“专属样式”。

Hack技术的原理

利用CSS中的优先级以及CSS Hack技术,来实现“不同浏览器”对应“不同CSS”的需求。

Hack的种类

CSS Hack主要针对IE浏览器,可以分为3种表现形式:

● 属性前缀法:CSS属性上添加Hack(*height: 300px;);

● 选择器前缀法:在选择器上添加Hack(*html { });

● 条件注释法:头部引用Hack(<!--[if lt IE 8]-->)。

欢迎沟通交流~~~HTML5学堂(码匠)

GPU

什么是GPU

显卡的处理器称为图形处理器(GPU),它是显卡的“心脏”,与CPU类似,只不过GPU是专为执行复杂的数学和几何计算而设计的。

默认情况下,网页的渲染使用的是CPU。如果有了GPU来处理图形任务,那么CPU就可以执行其他更多系统任务,从而提升计算机整体性能。

GPU加速的主要用途

主要用于CSS3技术中,提升二维动画的渲染速度。

GPU加速的触发方法

为动画DOM元素添加如下CSS3样式。

-webkit-transform:transition3d(0,0,0);

-webkit-transform:translateZ(0);

两种方法都会开启GPU硬件加速模式,从而让浏览器在渲染动画时从CPU转向GPU。

对于网页效果来说,由于如上代码中的值设置为0,因此,并没有真正使用3D效果,但浏览器却因此开启了GPU硬件加速模式。

GPU加速的应用场景

● 涉及大量大尺寸图片的动画;

● 涉及大量DOM元素的CSS3动画。

CSS Sprite

什么是CSS Sprite

CSS Sprite,也有人将其称为CSS精灵,是一种网页图片应用处理方式。它允许将一个页面涉及到的所有零星图片都合并到一张大图当中,当访问该页面时,载入的图片就不会像以前那样一幅一幅地慢慢显示出来了。

CSS Sprite的原理

CSS Sprite与Photoshop的背景图合并一样,就是把网页中一些背景图片整合到一张图片文件中,再利用CSS的background-position属性的进行背景定位。

UA

什么是UA

UA是User Agent的缩写。

UA是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等。

UA的用途

例如:检测当前访问设备的类型(移动设备还是桌端设备),并根据具体情况实现“重定向”。

更多前端相关词汇

haslayout、XSS、strict、MVVM、MVC、SPA...

面试中会提到的更多前端“专属”词汇,可查看微信小程序 - “决胜前端”中的专题内容

开开心心每一天

生活艰辛,代码不易,但是,不要忘记微笑哦~!

版权声明:该图来自“【美】莉兹·克里莫 (author)”的书籍《你今天真好看》

时间: 2024-10-25 16:09:46

几个前端工程师应当掌握的“词语”的相关文章

web前端工程师应该会的9个软技能

做为一名web前端工程师(http://www.maiziedu.com/course/web-px/),往往我们可能只专注于修炼自己的内功,而忽视了软技能.硬技能决定你是否能得到工作,而软技能能够表明你是否适合这份工作和适应工作环境等.所有的公司都有属于自己的文化,并努力将这些文化传承下去,所以他们必须确保每一位新员工能够适应这个环境. 许多硬技能很容易获得并可很快的提高,而软技能由于和你性格等联系紧密,可想要改变他们是一件很困难和缓慢的事情.这里有七个核心的软技能,适用于大多数的企业,它们不

如何成为一名优秀的Web前端工程师?

何为:前端工程师? 前端工程师,也叫Web前端开发工程师.他是随着web发展,细分出来的行业.Web前端开发技术主要包括三个要素:HTML.CSS和JavaScript!它要求前端开发工程师不仅要掌握基本的Web前端开发技术,网站性能优化.SEO和服务器端的基础知识,而且要学会运用各种工具进行辅助开发以及理论层面的知识,包括代码的可维护性.组件的易用性.分层语义模板和浏览器分级支持等.随着近两三年来RIA(Rich Internet Applications的缩写,中文含义为:丰富的因特网应用程

写给刚入门的前端工程师的前后端交互指南

转自原文 写给刚入门的前端工程师的前后端交互指南 作为刚接触前端的不久的童鞋,大家都会兴奋于CSS和JS所带来漂亮界面,然而,前端工程师除了UI重构外,还有非常重要的职责在正确的区域渲染出服务端的数据.毕竟,我们要构建一个大的web应用,必然不是普普通通的静态页面构成. 下文将罗列将来前端工程师应该必备的同后端打交道的常用技能. 服务端渲染 谈起服务端渲染,对于动态服务而言,这个世界上跑的大多数页面都经历过服务端的数据渲染,接口->前端赋值->模版渲染 .这一切都在服务器完成,我们查看源码时候

前端工程师

这个标题很大,因为我也不知道我到底想要写些什么. 我们小组想要做一个网站,前面说过了,在项目进行的过程中我们小组六个人分工,分为了前端和后端.在软件工程专业学习这么久,其实感觉自己学的大部分都是理论的东西,被局限在小黑框里,如果没在部门里接触过前端后端的概念,我想我应该到现在才知道什么是前段什么是后端,并且没有具体概念.选择软件工程也不代表以后会从事相关工作,至少我身边只有很少一部分以后想要从事相关行业. 在网上找了关于前端工程师,很多资料都显示,前端工程师的待遇远远不如后端,下面引用在“知乎”

web前端工程师必备技能汇总

web前端知识结构图. 图片的形式具有诸多的不便.缺失源图的我们,无法为此图贡献些什么,随着时间的迁移,或许有些技术点会发生改变,所以有了这个github项目.我们可以通过协作的方式来共同维护这个项目.Git的历史记录也可以见证前端行业的一些变迁. 尽管会变成文字的方式来维护这些内容,但是我承诺写一个小工具帮大家生成更好玩的图形(基于DataV项目). 前端开发知识结构 前端工程师 SVG/Canvas/VML SVG: D3/Raphaël/Snap.svg/DataV Canvas: Cre

淘宝前端工程师推荐书笔籍大集合

写了几年的不正规前端,从乱的不可开交的css/html/js,到发现需要看书才能解决问题的状态.这里推荐一下 淘宝前端书籍:http://www.xiaomengku.com/index.php/album?id=6 多看书还是可以很好的理顺自己的思维,写了个小js库(HHJsLib)还在不断完善中,此库指在简化后端的开发任务,从减少后端人员对于前端效果纠结时间,来达到加快网站开发速度的目的.有兴趣的同学可以上GitHub交流下:https://github.com/HongJuZiNetStu

前端工程师基础课程作业

一.问答题: (1)139邮箱资源服务器与缓存相关的响应首部是怎么配置的? (2)登录139邮箱web2.3,在浏览器有缓存的情况下,刷新页面,浏览器会不会重新发送请求获取静态资源?如果会,请列出与缓存相关的请求首部以及响应状态码:如果不会,请说明原因. (3)请指出Cache-Control与Expires的区别 (4)新功能上线后,如何清空浏览器的缓存,让用户获取最新的资源文件? 问题1.问题2 可用Fiddler抓包然后截图说明. 二.编程题: 请写一个页面,并封装相应的JS代码,完成13

作为一个前端工程师,CSS是最基本的入门课,你都能做出来吗?

CSS在很多程序员看来那只不过是雕虫小技, 实际上CSS3发展到今天已经强大到超乎你的想象, 当然对于低端浏览器使用者来说,还是以前那样——囧 有时候搞CSS开发确实需要很多想象力,下面一组纯CSS3特效足以描述这一点 以下内容转载自[http://design.yesky.com/show/466/11497966_3.shtml] 设计欣赏:纯CSS3「绘制」的图形图标 IE 标志 作者: Andreas Jacob 在 Firefox 3.6+ 以及Safari 5 上显示最佳.使用了圆角

web前端工程师面试题

[HTML && CSS]--来自百度文库 1. Doctype? 严格模式与混杂模式-如何触发这两种模式,区分它们有何意义? Doctype 声明位于文档中的最前面的位置,处于标签之前.此标签可告知浏览器文档使用哪种 HTML 或XHTML 规范. 该标签可声明三种DTD 类型,分别表示严格版本.过渡版本以及基于框架的 HTML 文档. 当浏览器厂商开始创建与标准兼容的浏览器时,他们希望确保向后兼容性.为了实现这一点,他们创 建了两种呈现模式:标准模式和混杂模式(quirks mode)