html css面试题 css3动画面试题
本篇文章给大家谈谈html css面试题,以及css3动画面试题对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。
Web前端面试的常见面试题汇总
今天小编要跟大家分享的文章是关于参加Web前端面试的常见面试题汇总。准备参加Web前端面试的小伙伴们来和小编一起看一看吧,希望本篇文章能够对大家有所帮助。
1.渐进增强与优雅降级
渐进增强
并不是一种技术,而是一种设计思想。各个浏览器的渲染能力各不相同,要做一个每个人都能看到的网页、感受到的体验都一致的网站几乎不可能。但还是得网站的可访问性,保证用户在任何环境下都能正常访问网页得核心内容或能使用基本功能(避免网页打不开、排版错误等),并为他们提供当前条件下最好的体验,这就是渐进增强得核心思想。
优雅降级也是一种设计思想,为了保证在高版本浏览器中提供最好的体验,碰到低版本浏览器再降级进行兼容处理,使其能正常浏览。
这两种思想的区别在于:
1.渐进增强是向上兼容,优雅降级是向下兼容;
2.渐进增强是从简单到复杂,优雅降级是从复杂到简单;
3.渐进增强关注的是内容(保证核心内容),优雅降级关注的是浏览体验(为了兼容低版本浏览器)
2.DOCTYPE
作用
DTD(DocumentTypeDefinition,文档类型定义)是一系列的语法规则,用来定义XML或(X)HTML
的文档类型。浏览器会使用它来判断文档类型,决定何种协议来解析,以及切换浏览模式。
DOCTYPE是用来声明文档类型和DTD
规范的,一个主要的用途便是文件的合法性验证。如果文档代码不合法,那么浏览器解析时便会出现一些差错。
HTML5的文档类型声明:
HTML4.01Strict(HTML4.01严格模式)的DTD包含所有HTML
元素和属性,但不包括展示性的和弃用的元素(如font),它的文档类型声明:
"">
标准模式与怪异模式
怪异模式(Quirks
Mode)用于模拟旧浏览器的行为。早期的网站并不会遵循完整的规范,随着浏览器支持越来越多的规范,在那些旧的浏览器中开发的页面在显示时会被破坏。为了向后兼容,浏览器发明了怪异模式,一行错误或无效的
DOCTYPE都会触发怪异模式。
浏览器使用文件开头的DOCTYPE来决定用怪异模式处理或标准模式处理。DOCTYPE
可以确保不同浏览器以相同的方式解析文档,以及执行相同的渲染模式。
怪异模式与标准模式的主要区别:
1.怪异模式的宽度和高度会包含padding和border。标准模式不包含,标准模式下可以通过设置box-sizing:
border-box将标准盒模型转化成怪异模式下的盒模型。
2.怪异模式下,当内容超出容器高度时,会将容器拉伸,而不是溢出。
3.怪异模式下,在表格中的字体样式(如font-size)不会继承。
4.怪异模式下颜色值必须使用十六进制标记法。
3.语义化
HTML5
中的语义化就是让元素、属性或属性值有含义,更准确地标记特定类型的内容。对元素语义化的目的是为了让元素的语义和呈现分离,元素只负责文档内容的结构与含义,而CSS
样式控制内容的呈现,像元素,没有语义但却能将字体变粗,这类元素违背了语义化的目的,将会被废弃。
优点
·使得HTML文档结构清晰、布局合理、主体突出、可读性更强。
·有利于SEO,搜索引擎根据标签来确定上下文和各个关键字的权重。
·方便其他设备解析,如盲人阅读器根据语义渲染网页。
·有利于开发和维护,语义化更具可读性,代码更好维护,与CSS3关系更和谐。
语义化标签
·定义文档的页眉区域,应作为介绍内容或者导航链接栏的容器;
·footer内容的页脚,通常包含该章节作者、版权数据或者与文档相关的链接等信息;
·article
文档、页面、应用或网站中的独立结构,是可独立分配的、可复用的结构,如在发布中,它可能是论坛帖子、杂志或新闻文章、博客、用户提交的评论、交互式组件,或者其他独立的内容项目;
·nav描述一个含有多个超链接的区域,该区域包含跳转到其他页面或页面内部其他部分的链接列表;
·section表示文档中的一个区域(或节),比如,内容中的一个专题组;
·main定义文档的主要内容,该内容在文档中应当是独一无二的,不包含任何在文档中重复的内容,比如侧边栏,导航栏链接,版权信息,网站
logo,搜索框(搜索框作为文档的主要内容);
·aside
表示一个和其余页面内容几乎无关的部分,被认为是独立于该内容的一部分且可以被单独的拆分出来而不会影响整体。通常表现为侧边栏或嵌入内容。
4.超链接伪类
:link、:visited、:active和:hover的声明顺序是怎样的?
:link表示未访问的链接状态;
:visited表示已访问状态;:active表示激活状态(鼠标按下);:hover表示悬停状态。
推荐顺序是LVHA,即:link:visited:hover:active。理由如下:
·当鼠标悬停在未访问的链接上时,:link和:hover都会命中,如果:hover在:link
之前声明,那么(:hover)就会被覆盖;
·当鼠标悬停在已访问的连接上时,:visited和:hover都会命中,如果:hover在:visited
之前声明,那么(:hover)就会被覆盖;
·当鼠标单击链接时,:active和:hover都会命中,我们大多是想让:hover只在悬停时展示样式,按下鼠标时使用:active
样式,因此:active在:hover之后声明;
·综上,:hover应在:link和:visited之后,在:active之前,因此active在最后。而:link和
:visited两者的顺序无所谓,互不影响。
5.CSS常见的长度单位
CSS中除了px长度单位之外,还有下面几个长度单位:
·pc六分之一英寸,1pc=12pt=1/6*1in=16px;
·pt一磅,72分之一英寸。1pt=1/12_1pc=1/72_1in≈1.33px;
·in一英寸,1in=2.54cm=96px;
·ex在含有“X”字母的字体中,它是该字体的小写字母的高度。对于很多字体来说,1ex≈0.5em;
·em1em等于父级元素的字体大小,2em就是父级元素字体大小的二倍;
·rem当用在根元素()的font-size上面时,它代表了它的初始值;
·ch代表元素所用字体font中“0”这一字形的宽度;
·vh1vh相当于视口高度的1%,100vh就是视口的高度;
·vw1vw相当于视口宽度的1%,100vw就是视口的宽度;
·vmax视口高度vw和宽度vh两者中的最小值
·vmin视口高度vw和宽度vh两种中的最大值;
·%相对于父级元素的大小来确定;
参考:CSS[1]
CSSpercentage[2]
6.事件对象
冒泡与捕获
事件冒泡与捕获是事件处理的两种机制,主要描述当在一个元素上有两个相同类型的事件处理器被激活会发生什么。
在点击子元素时,浏览器运行了两种不同的阶段:捕获阶段和冒泡阶段。捕获阶段的行为:
·浏览器检查元素的最外层祖先,是否在捕获阶段中注册了一个onclick事件处理程序,如果是,则运行它;
·
然后,它移动到中单击元素的下一个祖先元素,并执行相同的操作,然后是单击元素再下一个祖先元素,依此类推,直到到达实际点击的元素;
而冒泡与捕获恰恰相反:
·浏览器检查实际点击的元素是否在冒泡阶段中注册了一个onclick事件处理程序,如果是,则运行它;
·然后它移动到下一个直接的祖先元素,并做同样的事情,然后是下一个,等等,直到它到达元素;
而现代浏览器在默认情况下,所有事件处理程序都在冒泡阶段进行注册。因此上面代码在点击子元素时会先执行子元素绑定的事件,然后向上冒泡,触发父元素绑定的事件。
addEventListener函数的第三个参数是个布尔值。含义:
·当布尔值是false时(这也是默认值),表示向上冒泡触发事件;
·当布尔值是true时,表示向下捕获触发事件;
不能冒泡的事件
有些事件是不会冒泡的。比如:
·blur元素失去焦点时触发,focusout事件也是失去焦点时触发,但可以冒泡;
·focus元素获取焦点时触发;
·mouseenter鼠标移动到元素上时会触发该事件,与之对应的是mouseover事件,但会冒泡;
·mouseleave鼠标离开元素时触发,与之对应的是mouseout,但会冒泡;
事件冒泡可以让我们利用事件委托,尤其是处理大量子元素时,如果给每个子元素都绑定事件,这是不优雅的,可以将事件绑定到父元素上,并让子节点上发生的事件冒泡到父节点上,利用
e.target属性可以获取到当前触发事件的子元素。
事件对象中的方法
·stopPropagation()阻止事件冒泡,当设置后,点击该元素时父元素绑定的事件就不会再触发;
·preventDefault()阻止默认事件的发生;
·stopImmediatePropagation()它用来阻止监听同一事件的其他事件监听器被调用以及阻止事件冒泡,比如给同一个div
元素绑定多个click事件(使用addEventListener方法可以注册多个),当在第二个事件函数中调用
stopImmediatePropagation方法时,点击div元素时,后面注册的click将不会被触发,而且还会阻止事件冒泡;
比如下面的例子,给p绑定多个click事件,在第二个事件函数中调用stopImmediatePropagation,第三个click
事件就不会触发,因为也阻止了冒泡,因此父元素的click事件也不会触发。
paragraph
Web前端岗位面试题有哪些
1.对WEB标准以及W3C的理解与认识
标签闭合、标签小写、不乱嵌套、提高搜索机器人搜索几率、使用外链css和js脚本、结构行为表现的分离、文件下载与页面速度更快、内容能被更多的用户所访问、内容能被更广泛的设备所访问、更少的代码和组件,容易维护、改版方便,不需要变动页面内容、提供打印版本而不需要复制内容、提高网站易用性;
2.xhtml和html有什么区别
HTML是一种基本的WEB网页设计语言,XHTML是一个基于XML的置标语言
最主要的不同:
XHTML元素必须被正确地嵌套。
XHTML元素必须被关闭。
标签名必须用小写字母。
XHTML文档必须拥有根元素。
3.Doctype?严格模式与混杂模式-如何触发这两种模式,区分它们有何意义?
用于声明文档使用那种规范(html/Xhtml)一般为严格过度基于框架的html文档
加入XMl声明可触发,解析方式更改为IE5.5拥有IE5.5的bug
4.行内元素有哪些?块级元素有哪些?CSS的盒模型?
块级元素:div p h1 h2 h3 h4 form ul
行内元素: a b br i span input select
Css盒模型:内容,border,margin,padding
5.CSS引入的方式有哪些? link和@import的区别是?
内联内嵌外链导入
区别:同时加载
前者无兼容性,后者CSS2.1以下浏览器不支持
Link支持使用javascript改变样式,后者不可
6.CSS选择符有哪些?哪些属性可以继承?优先级算法如何计算?内联和important哪个优先级高?
标签选择符类选择符 id选择符
继承不如指定 Id>class>标签选择
后者优先级高
7.前端页面有哪三层构成,分别是什么?作用是什么?
结构层 Html表示层 CSS行为层 js
8.css的基本语句构成是?
选择器{属性1:值1;属性2:值2;……}
9.你做的页面在哪些流览器测试过?这些浏览器的内核分别是什么?
Ie(Ie内核)火狐(Gecko)谷歌(webkit) opear(Presto)
10.写出几种IE6 BUG的解决方法
1.双边距BUG float引起的使用display
2.3像素问题使用float引起的使用dislpay:inline-3px
3.超链接hover点击后失效使用正确的书写顺序 link visited hover active
4.Ie z-index问题给父级添加position:relative
5.Png透明使用js代码改
6.Min-height最小高度!Important解决’
7.select在ie6下遮盖使用iframe嵌套
8.为什么没有办法定义1px左右的宽度容器(IE6默认的行高造成的,使用over:hidden,zoom:0.08 line-height:1px)
11.标签上title与alt属性的区别是什么?
Alt当图片不显示是用文字代表。
Title为该属性提供信息
12.描述css reset的作用和用途。
Reset重置浏览器的css默认属性浏览器的品种不同,样式不同,然后重置,让他们统一
13.解释css sprites,如何使用。
Css精灵把一堆小的图片整合到一张大的图片上,减轻服务器对图片的请求数量
14.浏览器标准模式和怪异模式之间的区别是什么?
盒子模型渲染模式的不同
使用 window.top.document.compatMode可显示为什么模式
15.你如何对网站的文件和资源进行优化?期待的解决方案包括:
文件合并
文件最小化/文件压缩
使用CDN托管
缓存的使用
16.什么是语义化的HTML?
直观的认识标签对于搜索引擎的抓取有好处
17.清除浮动的几种方式,各自的优缺点
1.使用空标签清除浮动 clear:both(理论上能清楚任何标签,,,增加无意义的标签)
2.使用overflow:auto(空标签元素清除浮动而不得不增加无意代码的弊端,,使用zoom:1用于兼容IE)
3.是用afert伪元素清除浮动(用于非IE浏览器)
Javascript
1.javascript的typeof返回哪些数据类型
Object number function boolean underfind
2.例举3种强制类型转换和2种隐式类型转换?
强制(parseInt,parseFloat,number)
隐式(==–===)
3.split() join()的区别
前者是切割成数组的形式,后者是将数组转换成字符串
4.数组方法pop() push() unshift() shift()
Push()尾部添加 pop()尾部删除
Unshift()头部添加 shift()头部删除
5.事件绑定和普通事件有什么区别
6.IE和DOM事件流的区别
1.执行顺序不一样、
2.参数不一样
3.事件加不加on
4.this指向问题
7.IE和标准下有哪些兼容性的写法
Var ev= ev|| window.event
document.documentElement.clientWidth|| document.body.clientWidth
Var target= ev.srcElement||ev.target
8.ajax请求的时候get和post方式的区别
一个在url后面一个放在虚拟载体里面
有大小限制
安全问题
应用不同一个是论坛等只需要请求的,一个是类似修改密码的
9.call和apply的区别
Object.call(this,obj1,obj2,obj3)
Object.apply(this,arguments)
10.ajax请求时,如何解释json数据
使用eval parse鉴于安全性考虑使用parse更靠谱
11.b继承a的方法
12.写一个获取非行间样式的函数
function getStyle(obj,attr,value)
{
if(!value)
{
if(obj.currentStyle)
{
return obj.currentStyle(attr)
}
else
{
obj.getComputedStyle(attr,false)
}
}
else
{
obj.style[attr]=value
}
}
13.事件委托是什么
让利用事件冒泡的原理,让自己的所触发的事件,让他的父元素代替执行!
14.闭包是什么,有什么特性,对页面有什么影响
闭包就是能够读取其他函数内部变量的函数。
15.如何阻止事件冒泡和默认事件
canceBubble return false
16.添加删除替换插入到某个接点的方法
obj.appendChidl()
obj.innersetBefore
obj.replaceChild
obj.removeChild
17.解释jsonp的原理,以及为什么不是真正的ajax
动态创建script标签,回调函数
Ajax是页面无刷新请求数据操作
web前端 面试必问的几个问题有那些
web前端面试必问的几个问题?有那些?根据面试官的不同,面试的内容页不一样的。一般的话就是+css布局占一部分,例如各浏览器的相容性,然后就是js的ajax,闭包,冒泡什么的,js会占很大一部分,也有一部分面试官会抛开这些,直接问公司需要的内容,这样的话就是考验你的实际操作了,这类的面试官我很喜欢,就是直接问布局,资料填充之类的,能学到很多东西,建议面试时偷偷用手机录音,回来之后听一听,研究一下自己不会的问题,因为面试完之后,你可能就会忘了面试时都问过什么了
web前端面试会问哪些问题对公司这个行业有什么样的看法,未来的职业规划,自己做好该职位工作的优势,个人缺点是什么,还有就是一些技术性问题了。web前端面试会问哪些问题
web前端开发的几个问题 1.巢状表单一般不会有什么问题,主要是看业务需求,不过尽量还是不要使用巢状。
2.name只是标签的属性,一般的网页标签元素都可以使用这个属性,并非只能表单域里的标签才能使用。比如 div、span、input等等都可以有name属性。
3.JQuery已经成为JS指令码开发的标配了,本身的体积也比较小,最主要的是简化了很多JS操作,而且我们基本不用考虑JS的浏览器相容问题了。至于效能和原生的JS没什么区别,放心使用吧。
面试Web前端需要注意什么?会面试哪些问题?将这些问题作为参考。
希望你的面试官有点经验,不会用以下这样的问题开场。以防万一,还是准备一些答案。
1.为什么选择程式设计师这个职业生涯?
2.截至目前,你所从事的专案中最喜欢的是哪个?
3.描述一下你梦想中的研发专案。
另外一些面试官会问一些通用的技术问题,来测试你的技术能力。有可能部分人不知道这些问题是什么意思,而仅仅是在考察你的能力/竞争力。基于面试官的技术能力级别的不同,你的答案也会有所不同。这些问题简单易答,因此把这些问题记下来。
1.描述一下建立一个新网页的过程
2.怎样减少页面载入时间?
3.标准和标准体(standards and standards bodies)为什么重要?
4.你使用怎样一个过程来组织程式码?
5.你喜欢用什么工具来测试程式码效能?[page]
既然你从事前端工作,理解CSS会非常重要。因此这里为你准备了一些常见的CSS问题。这是展示你知识储备的重要开始。这些并不是最尖锐或者重要的问题,如果不能回答出来,将对你很不利。
1.CSS中的 resetting和 normalizing之间的区别有哪些?
2.什么是floats,它是如何工作的?
3.absolute、relative、fixed和 static定位的区别是什么?
4.解释visiblity hidden和display none之间的区别
5.你是如何修复特定浏览器预设样式的问题?
6.你是否用过网格系统?目的是?
7.如果计算CSS权重?
8.解释如何优化CSS选择器。
9.为什么需要使用预编译器?
10.你是如何测试网站的跨浏览器相容性?
现在我们最基本的任务完成了。谁都能死记硬背这些答案来应付以上问题。即使是新手前端开发者也能出色地回答大部分问题。然而如果想真正让你的面试官印象深刻并证明你的功底深厚,就把下面这些问题牢记在心。
1.前端开发的框架是什么?
2.响应式web app和原生应用程式的区别是什么?
3.原生app相对web app的优点是什么?
4.客户端和伺服器端开发的区别是什么?
5.什么是SASS和LESS?它们是如何工作的?
面试官会更多关注你是如何表达对这些问题的解释。他们会追问支援你的答案的工作案例。前面的问题你可能可以通过记忆而过关,你可能还会遇到这些问题的扩充套件,但这些答案的深度,将让你与众不同。通过你参与过的实际专案,来展示你的思考过程。
web前端jquery面试题有哪些常见的几个如下:他们的答案可以百度搜。
1. jQuery库中的$()是什么?
2.网页上有 5个<div>元素,如何使用 jQuery来选择它们?
3. jQuery里的 ID选择器和 class选择器有何不同?
4.如何在点选一个按钮时使用 jQuery隐藏一个图片?
5.$(document).ready()是个什么函式?为什么要用它?
6. JavaScript window.onload事件和 jQuery ready函式有何不同?
7.如何找到所有 HTML select标签的选中项?
8. jQuery里的 each()是什么函式?是如何使用它的?
web前端面试必考的基础面试题有哪些?切图,css盒模型,js基础语法,ajax,面向物件,模组化,效能优化,自动化这想相对的考核会多一些。大公司重基础,小公司重能力,所以与时间的话多去刷一刷基础的题目吧。
祝你顺利通过面试!
web前端面试经常问到的面试题有哪些 web前端面试经常问到的面试题实在太多了,建议你去网上搜索一下,或者直接下载一些面试题的集锦,然后看看就好了。
1、列举web效能优化?
1)
减少请求次数。合并档案、利用css sprite把零散的图片整合到一张图上。
2)
减少DNS查询。
3)
减少从定向。
4)
响应时间。使用AJAX进行快取,减少请求。
5)
延迟载入元件.
6)
预载入元件。
7)
减少节点的数量。
8)
切分元件到多个域。
9)
最小化iframe。
10)
杜绝404错误。
2、介绍一下XMLHttpRequest物件的常用方式和属性?
open(“method”,”URL”)建立对伺服器的呼叫,第一个引数是HTTP请求方式
可以为GET,POST或任何伺服器所支援的您想呼叫的方式。
第二个引数是请求页面的URL。
send()方法,传送具体请求
abort()方法,停止当前请求
readyState属性请求的状态有5个可取值 0=未初始化,1=正在载入
2=以载入,3=互动中,4=完成
responseText属性伺服器的响应,表示为一个串
reponseXML属性伺服器的响应,表示为XML
status伺服器的HTTP状态码,200对应ok 400对应not found
web前端问题 IE浏览器类似银行网银安全密码输入控制元件,使用键盘钩子防止被键盘记录器监听密码,使用des对密码加密传输,输入框禁止选择复制
或者
只要是ActiveX,必须要进行IE的安全设定。
网银一般都是一个安装程式,安装的时候都给你设定好了。
ActiveX在页面里面和普通的DOM物件一样,只要ActiveX建立成功,就可以用js直接访问该元件的方和和属性。
关于本次html css面试题和css3动画面试题的问题分享到这里就结束了,如果解决了您的问题,我们非常高兴。