<img><input><link><meta>鲜为人知的是:<area><base><col><command><embed><keygen><param><source><track><wbr>4.页面导入样式时,利用link和@import有什么差异?link属于XHTML标签,除了加载CSS外,还能用于定义RSS, 定义rel连接属性等浸染;而@import是CSS供应的,只能用于加载CSS;页面被加载的时,link会同时被加载,而@import引用的CSS会等到页面被加载完再加载;import是CSS2.1 提出的,只在IE5以上才能被识别,而link是XHTML标签,无兼容问题;

5.先容一下你对浏览器内核的理解?

紧张分成两部分:渲染引擎(layout engineer或Rendering Engine)和JS引擎。
渲染引擎:卖力取得网页的内容(HTML、XML、图像等等)、整理讯息(例如加入CSS等),以及打算网页的显示办法,然后会输出至显示器或打印机。
浏览器的内核的不同对付网页的语法阐明会有不同,以是渲染的效果也不相同。
所有网页浏览器、电子邮件客户端以及其它须要编辑、显示网络内容的运用程序都须要内核。
JS引擎则:解析和实行javascript来实现网页的动态效果。
最开始渲染引擎和JS引擎并没有区分的很明确,后来JS引擎越来越独立,内核就方向于只指渲染引擎。

6.常见的浏览器内核有哪些?

Trident内核:IE,MaxThon,TT,The World,360,搜狗浏览器等。
[又称MSHTML]Gecko内核:Netscape6及以上版本,FF,MozillaSuite/SeaMonkey等Presto内核:Opera7及以上。
[Opera内核原为:Presto,现为:Blink;]Webkit内核:Safari,Chrome等。
[ Chrome的:Blink(WebKit的分支)]

html文件样式ie6显示HTMLu0026css面试题 Vue.js

7.html5有哪些新特性、移除了那些元素?如何处理HTML5新标签的浏览器兼容问题?如何区分 HTML 和 HTML5?HTML5 现在已经不是 SGML 的子集,紧张是关于图像,位置,存储,多任务等功能的增加。
绘画 canvas;用于媒介回放的 video 和 audio 元素;本地离线存储 localStorage 长期存储数据,浏览器关闭后数据不丢失;sessionStorage 的数据在浏览器关闭后自动删除;语意化更好的内容元素,比如 article、footer、header、nav、section;表单控件,calendar、date、time、email、url、search;新的技能webworker, websocket, Geolocation;

移除的元素:纯表现的元素:basefont,big,center,font, s,strike,tt,u;对可用性产生负面影响的元素:frame,frameset,noframes;

支持HTML5新标签:IE8/IE7/IE6支持通过document.createElement方法产生的标签,可以利用这一特性让这些浏览器支持HTML5新标签,浏览器支持新标签后,还须要添加标签默认的样式。
当然也可以直策应用成熟的框架、比如html5shim;<!--[if lt IE 9]> <scriptsrc="http://html5shim.googlecode.com/svn/trunk/html5.js"> </script><![endif]-->如何区分HTML5: DOCTYPE声明新增的构造元素功能元素H5新特性表单 画布 音视频 地理定位 媒体查询 css新特性 离线缓存 本地存储 拖拽8.简述一下你对HTML语义化的理解?

用精确的标签做精确的事情。
html语义化让页面的内容构造化,构造更清晰,便于对浏览器、搜索引擎解析;纵然在没有样式CSS情形下也以一种文档格式显示,并且是随意马虎阅读的;搜索引擎的爬虫也依赖于HTML标记来确定高下文和各个关键字的权重,利于SEO;使阅读源代码的人对网站更随意马虎将网站分块,便于阅读掩护理解。

9.HTML5的离线储存怎么利用,事情事理能不能阐明一下?

在用户没有连网时,可以正常访问站点或运用,在用户与网络连接时更新用户机器上的缓存文件。
事理:HTML5的离线存储是基于一个新建的.appcache文件的缓存机制(不是存储技能),通过这个文件上的解析清单离线存储资源,这些资源就会像cookie一样被存储了下来。
之后当网络在处于离线状态下时,浏览器会通过被离线存储的数据进行页面展示。
如何利用:页面头部像下面一样加入一个manifest的属性;在cache.manifest文件的编写离线存储的资源; CACHE MANIFEST #v0.11 CACHE: js/app.js css/style.css NETWORK: resourse/logo.png FALLBACK: / /offline.html在离线状态时,操作window.applicationCache进行需求实现。

10.浏览器是怎么对HTML5的离线储存资源进行管理和加载的呢?

在线的情形下,浏览器创造html头部有manifest属性,它会要求manifest文件,如果是第一次访问app,那么浏览器就会根据manifest文件的内容下载相应的资源并且进行离线存储。
如果已经访问过app并且资源已经离线存储了,那么浏览器就会利用离线的资源加载页面,然后浏览器会比拟新的manifest文件与旧的manifest文件,如果文件没有发生改变,就不做任何操作,如果文件改变了,那么就会重新下载文件中的资源并进行离线存储。
离线的情形下,浏览器就直策应用离线存储的资源。

11.iframe有那些缺陷?

iframe会壅塞主页面的Onload事宜;搜索引擎的检索程序无法解读这种页面,不利于SEO;iframe和主页面共享连接池,而浏览器对相同域的连接有限定,以是会影响页面的并行加载。
利用iframe之前须要考虑这两个缺陷。
如果须要利用iframe,最好是通过javascript动态给iframe添加src属性值,这样可以绕开以上两个问题。

12.Label的浸染是什么?是怎么用的?

label标签来定义表单掌握间的关系,当用户选择该标签时,浏览器会自动将焦点转到和标签干系的表单控件上。

<label for="Name">Number:</label><input type=“text“name="Name" id="Name"/><label>Date:<input type="text" name="B"/></label>13.如何实现浏览器内多个标签页之间的通信?

WebSocket、也可以调用localstorge、cookies等本地存储办法,还可以利用页面的路有参数通报localstorge另一个浏览高下文里被添加、修正或删除时,它都会触发一个事宜,我们通过监听事宜,掌握它的值来进行页面信息通信;14.如何在页面上实现一个圆形的可点击区域?map+area或者svgborder-radius纯js实现 须要求一个点在不在圆上大略算法、获取鼠标坐标等等

15.title与h1的差异、b与strong的差异、i与em的差异?

title属性没有明确意义只表示是个标题,H1则表示层次明确的标题,对页面信息的抓取也有很大的影响;strong是标明重点内容,有语气加强的含义,利用阅读设备阅读网络时:会重读,而是展示强调内容。
i内容展示为斜体,em表示强调的文本;

16.data-属性的浸染是什么?

h5新增的属性可以通过ele.dataset获取到标签上的data-x的属性返回一个工具

17.常见兼容性问题?问题:png24位的图片在iE6浏览器上涌现背景,

办理:办理方案是做成PNG8.

问题:浏览器默认的margin和padding不同。

办理:方案是加一个全局的{margin:0;padding:0;}来统一。

问题:IE6双边距bug:块属性标签float后,又有横行的margin情形下,在ie6显示margin比设置的大。
浮动ie产生的双倍间隔 #box{ float:left; width:10px; margin:0 0 0 100px;}这种情形之下IE会产生20px的间隔

办理:办理方案是在float的标签样式掌握中加入 ——_display:inline;将其转化为行内属性。
(_这个符号只有ie6会识别) 渐进识别的办法,从总体中逐渐打消局部。
首先,奥妙的利用“9”这一标记,将IE游览器从所有情形等分离出来。
接着,再次利用“+”将IE8和IE7、IE6分离开来,这样IE8已经独立识别。
css

.bb{ background-color:#f1ee18;/所有识别/ .background-color:#00deff\9; /IE6、7、8识别/ +background-color:#a200ff;/IE6、7识别/ _background-color:#1e0bd1;/IE6识别/ } 问题:IE下,可以利用获取常规属性的方法来获取自定义属性,也可以利用getAttribute()获取自定义属性,Firefox下,只能利用getAttribute()获取自定义属性.

办理:办理方法:统一通过getAttribute()获取自定义属性.

问题:IE下,even工具有x,y属性,但是没有pageX,pageY属性,Firefox下,event工具有pageX,pageY属性,但是没有x,y属性.

办理方法:(条件注释)缺陷是在IE浏览器下可能会增加额外的HTTP要求数。

问题:Chrome 中文界面下默认会将小于 12px 的文本逼迫按照 12px 显示,

办理:可通过加入 CSS 属性 -webkit-text-size-adjust: none; 办理.

问题:超链接访问过后hover样式就不涌现了 被点击访问过的超链接样式不在具有hover和active了

办理:方法是改变CSS属性的排列顺序:L-V-H-A : a:link {} a:visited {} a:hover {} a:active {}

18.你知道多少种Doctype文档类型?

该标签可声明三种 DTD 类型,分别表示严格版本、过渡版本以及基于框架的 HTML 文档。
HTML 4.01 规定了三种文档类型:Strict、Transitional 以及 Frameset。
XHTML 1.0 规定了三种 XML 文档类型:Strict、Transitional 以及 Frameset。
Standards (标准)模式(也便是严格呈现模式)用于呈现遵照最新标准的网页,而 Quirks(原谅)模式(也便是疏松呈现模式或者兼容模式)用于呈现为传统浏览器而设计的网页。

19.HTML与XHTML——二者有什么差异?

1)所有的标记都必须要有一个相应的结束标记2)所有标签的元素和属性的名字都必须利用小写3)所有的XML标记都必须合理嵌套4)所有的属性必须用引号""括起来5)把所有<和&分外符号用编码表示6)给所有属性赋一个值7)不要在注释内容中使“--”8)图片必须有解释笔墨

20.<img>的title和alt有什么差异?

title是global attributes之一,用于为元素供应附加的advisory information。
常日当鼠标滑动到元素上的时候显示。
alt是<img>的特有属性,是图片内容的等价描述,用于图片无法加载时显示、读屏器阅读图片。
可提图片高可访问性,除了纯装饰图片外都必须设置故意义的值,搜索引擎会重点剖析。

21.div+css的布局较table布局有什么优点?

改版的时候更方便 只要改css文件。
页面加载速率更快、构造化清晰、页面显示简洁。
表现与构造相分离。
易于优化(seo)搜索引擎更友好,排名更随意马虎靠前。

22.CSS都有哪些选择器?

派生选择器(用HTML标签申明)id选择器(用DOM的ID申明)类选择器(用一个样式类名申明)属性选择器(用DOM的属性申明,属于CSS2,IE6不支持,不常用,不知道就算了)除了前3种基本选择器,还有一些扩展选择器,包括后代选择器(利用空格间隔,比如div .a{ })群组选择器(利用逗号间隔,比如p,div,#a{ })那么问题来了,CSS选择器的优先级是怎么样定义的?

基本原则:

一样平常而言,选择器越分外,它的优先级越高。
也便是选择器指向的越准确,它的优先级就越高。
繁芜的打算方法:用1表示派生选择器的优先级用10表示类选择器的优先级用100标示ID选择器的优先级div.test1 .span var 优先级 1+10 +10 +1span#xxx .songs li 优先级1+100 + 10 + 1xxx li 优先级 100 +1那么问题来了,看下列代码,<p>标签内的笔墨是什么颜色的?<style>.classA{ color:blue;}.classB{ color:red;}</style><body><p class='classB classA'> 123 </p></body>答案:red。
与样式定义在文件中的先后顺序有关,即是后面的覆盖前面的,与在<p class=’classB classA’>中的先后关系无关。

23.行内元素和块级元素的详细差异是什么?行内元素的padding和margin可设置吗?

块级元素(block)特性:总是独占一行,表现为另起一行开始,而且其后的元素也必须另起一行显示;宽度(width)、高度(height)、内边距(padding)和外边距(margin)都可掌握;内联元素(inline)特性:和相邻的内联元素在同一行;宽度(width)、高度(height)、内边距的top/bottom(padding-top/padding-bottom)和外边距的top/bottom(margin-top/margin-bottom)都不可改变(也便是padding和margin的left和right是可以设置的),便是里面笔墨或图片的大小。
那么问题来了,浏览器还有默认的天生inline-block元素(拥有内在尺寸,可设置高宽,但不会自动换行),有哪些?答案:<input> 、<img> 、<button> 、<texterea> 、<label>。

24.什么是外边距重叠?重叠的结果是什么?

外边距重叠便是margin-collapse。
在CSS当中,相邻的两个盒子(可能是兄弟关系也可能是先人关系)的外边距可以结合成一个单独的外边距。
这种合并外边距的办法被称为折叠,并且因而所结合成的外边距称为折叠外边距。
折叠结果遵照下列打算规则:两个相邻的外边距都是正数时,折叠结果是它们两者之间较大的值。
两个相邻的外边距都是负数时,折叠结果是两者绝对值的较大值。
两个外边距一正一负时,折叠结果是两者的相加的和。

25.rgba()和opacity的透明效果有什么不同?

rgba()和opacity都能实现透明效果,但最大的不同是opacity浸染于元素,以及元素内的所有内容的透明度,而rgba()只浸染于元素的颜色或其背景色。
(设置rgba透明的元素的子元素不会继续透明效果!

26.CSS 选择符有哪些?哪些属性可以继续?优先级算法如何打算? CSS3新增伪类有那些?

1.id选择器( # myid) 2.类选择器(.myclassname) 3.标签选择器(div, h1, p) 4.相邻选择器(h1 + p) 5.子选择器(ul < li) 6.后代选择器(li a) 7.通配符选择器( ) 8.属性选择器(a[rel = "external"]) 9.伪类选择器(a: hover, li: nth - child) 可继续: font-size font-family color, UL LI DL DD DT; 不可继续 :border padding margin width height ; 优先级就近原则,样式定义最近者为准; 载入样式以末了载入的定位为准;

优先级为:

!important > id > class > tag important 比 内联优先级高

CSS3新增伪类举例:

p:first-of-type 选择属于其父元素的首个 <p> 元素的每个 <p> 元素。
p:last-of-type 选择属于其父元素的末了 <p> 元素的每个 <p> 元素。
p:only-of-type 选择属于其父元素唯一的 <p> 元素的每个 <p> 元素。
p:only-child 选择属于其父元素的唯一子元素的每个 <p> 元素。
p:nth-child(2) 选择属于其父元素的第二个子元素的每个 <p> 元素。
:enabled、:disabled 掌握表单控件的禁用状态。
:checked,单选框或复选框当选中。
27.如何居中div,如何居中一个浮动元素?

给div设置一个宽度,然后添加margin:0 auto属性

div{

width:200px;margin:0 auto;

}

居中一个浮动元素

确定容器的宽高 宽500 高 300 的层 设置层的外边距

.div {Width:500px ; height:300px;//高度可以不设Margin: -150px 0 0 -250px;position:relative;相对定位background-color:pink;//方便看效果left:50%;top:50%;}

28.浏览器的内核分别是什么?常常碰着的浏览器的兼容性有哪些?缘故原由,办理方法是什么,常用hack的技巧 ?

IE浏览器的内核Trident、 Mozilla的Gecko、google的WebKit、Opera内核Presto; png24为的图片在iE6浏览器上涌现背景,办理方案是做成PNG8. 浏览器默认的margin和padding不同。
办理方案是加一个全局的{margin:0;padding:0;}来统一。
IE6双边距bug:块属性标签float后,又有横行的margin情形下,在ie6显示margin比设置的大。
浮动ie产生的双倍间隔 #box{ float:left; width:10px; margin:0 0 0 100px;} 这种情形之下IE会产生20px的间隔,办理方案是在float的标签样式掌握中加入 ——_display:inline;将其转化为行内属性。
(_这个符号只有ie6会识别) 渐进识别的办法,从总体中逐渐打消局部。
首先,奥妙的利用“\9”这一标记,将IE游览器从所有情形等分离出来。
接着,再次利用“+”将IE8和IE7、IE6分离开来,这样IE8已经独立识别。

css

.bb{ background-color:#f1ee18;/所有识别/ .background-color:#00deff\9; /IE6、7、8识别/ +background-color:#a200ff;/IE6、7识别/ _background-color:#1e0bd1;/IE6识别/ } IE下,可以利用获取常规属性的方法来获取自定义属性, 也可以利用getAttribute()获取自定义属性; Firefox下,只能利用getAttribute()获取自定义属性. 办理方法:统一通过getAttribute()获取自定义属性. IE下,even工具有x,y属性,但是没有pageX,pageY属性; Firefox下,event工具有pageX,pageY属性,但是没有x,y属性. (条件注释)缺陷是在IE浏览器下可能会增加额外的HTTP要求数。
Chrome 中文界面下默认会将小于 12px 的文本逼迫按照 12px 显示, 可通过加入 CSS 属性 -webkit-text-size-adjust: none; 办理.超链接访问过后hover样式就不涌现了 被点击访问过的超链接样式不在具有hover和active理解决方法是改变CSS属性的排列顺序:L-V-H-A : a:link {} a:visited {} a:hover {} a:active {}
29.css优先级算法如何打算?

!important > id > class > 标签!important 比 内联优先级高

优先级就近原则,样式定义最近者为准;以末了载入的样式为准;30.哪些css属性可以继续?

可继续: font-size font-family color, ul li dl dd dt;不可继续 :border padding margin width height ;

DOM

讲 DOM 先从 HTML 讲起,讲 HTML 先从 XML 讲起。
XML 是一种可扩展的标记措辞,所谓可扩展便是它可以描述任何构造化的数据,它是一棵树!

1.documen.write和 innerHTML的差异

document.write只能重绘全体页面innerHTML可以重绘页面的一部分

2.DOM操作——若何添加、移除、移动、复制、创建和查找节点?1)创建新节点

createDocumentFragment() //创建一个DOM片段createElement() //创建一个详细的元素createTextNode() //创建一个文本节点

2)添加、移除、更换、插入

appendChild()removeChild()replaceChild()insertBefore() //在已有的子节点前插入一个新的子节点

3)查找

getElementsByTagName() //通过标署名称getElementsByName() //通过元素的Name属性的值(IE容错能力较强,会得到一个数组,个中包括id即是name值的)getElementById() //通过元素Id,唯一性

3.attribute和property的差异是什么?

attribute是dom元素在文档中作为html标签拥有的属性;property便是dom元素在js中作为工具拥有的属性。
以是: 对付html的标准属性来说,attribute和property是同步的,是会自动更新的,但是对付自定义的属性来说,他们是不同步的,

4.src和href的差异

src用于更换当前元素,href用于在当前文档和引用资源之间确立联系。
src是source的缩写,指向外部资源的位置,指向的内容将会嵌入到文档中当前标签所在位置;在要求src资源时会将其指向的资源下载并运用到文档内,当浏览器解析到该元素时,会停息其他资源的下载和处理,直到将该资源加载、编译、实行完毕,图片和框架等元素也如此,类似于将所指向资源嵌入当前标签内。
这也是为什么将js脚本放在底部而不是头部。
Src source,指向外部资源的位置,如果我们添加<script src ="js.js"></script>浏览器会停息其他资源的下载和处理,直到该资源加载,编译,实行完毕(图片和框架也是如此),这也便是为什么js脚本要放在底部。
src用于更换当前元素,href用于在当前文档和引入资源之间建立联系。

存储cookie

cookie 本身不是用来做做事器端存储的(打算机领域有很多这种“狗拿耗子”的例子,例如 CSS 中的 float),它是设计用来在做事器和客户端进行信息通报的,因此我们的每个 HTTP 要求都带着 cookie。
但是 cookie 也具备浏览器端存储的能力(例如记住用户名和密码),因此就被开拓者用上了。
利用起来也非常大略,document.cookie = ....即可。
但是 cookie 有它致命的缺陷:存储量太小,只有 4KB所有 HTTP 要求都带着,会影响获取资源的效率API 大略,须要封装才能用

locationStorage 和 sessionStorage

后来,HTML5 标准就带来了sessionStorage和localStorage,先拿localStorage来说,它是专门为了浏览器端缓存而设计的。

其优点有:

存储量增大到 5MB不会带到 HTTP 要求中API 适用于数据存储 localStorage.setItem(key, value) localStorage.getItem(key)sessionStorage的差异就在于它是根据 session 过去韶光而实现,而localStorage会永久有效,运用处景不同。
例如,一些须要及时失落效的主要信息放在sessionStorage中,一些不主要但是不常常设置的信息,放在localStorage中。

对WEB标准以及W3C的理解与认识

标签闭合、标签小写、不乱嵌套、提高搜索机器人搜索几率、利用外 链css和js脚本、构造行为表现的分离、文件下载与页面速率更快、内容能被更多的用户所访问、内容能被更广泛的设备所访问、更少的代码和组件,随意马虎维 护、改版方便,不须要变动页面内容、供应打印版本而不须要复制内容、提高网站易用性;