1、Id是唯一的,所以是Element,Tag不一定是唯一,所以是Elements
2、canvas 和 img 都为行内块元素
3、link和@import的区别:
1)link是XHTML标签,无兼容问题;@import是在CSS2.1提出的,低版本的浏览器不支持。
2)link可以加载CSS,Javascript;@import只能加载CSS。
3)link加载的内容是与页面同时加载;@import需要页面网页完全载入以后加载。
4、外边距塌陷问题
当两个在标准流中相邻(兄弟或父子关系)的块级元素的外边距,组合在一起变成单个外边距,但只有上下外边距会发生塌陷。 计算方式: 1. 两个块margin都为正,取其较大的一个 2. 两个块magin都为负,取其绝对值较大的一个 3. 一个块为负,一个块为正,取两个块margin之和
5、根据 HTML5 规范,在没有其他合适标签更合适时,才应该把 <b> 标签作为最后的选项。
HTML5 规范声明:应该使用 <h1> - <h6> 来表示标题,使用 <em> 标签来表示强调的文本,应该使用 <strong> 标签来表示重要文本,应该使用 <mark> 标签来表示标注的/突出显示的文本
6、dt与dd同级
7、a标签没有设置href属性时是不能获取到焦点的
8、下表列出了 canvas 与 SVG 之间的一些不同之处。
Canvas
依赖分辨率
不支持事件处理器
弱的文本渲染能力
能够以 .png 或 .jpg 格式保存结果图像
最适合图像密集型的游戏,其中的许多对象会被频繁重绘
Canvas 是逐像素进行渲染的。
在 canvas 中,一旦图形被绘制完成,它就不会继续得到浏览器的关注。如果其位置发生变化,那么整个场景也需要重新绘制,包括任何或许已被图形覆盖的对象。
SVG
不依赖分辨率
支持事件处理器
最适合带有大型渲染区域的应用程序(比如谷歌地图)
复杂度高会减慢渲染速度(任何过度使用 DOM 的应用都不快)
不适合游戏应用、
9、DOCTYPE不存在或格式不正确会导致文档以兼容模式呈现(混杂模式)
10、xml是标记语言,不是编程语言
11、Input 类型 - range
range 类型用于应该包含一定范围内数字值的输入域。
range 类型显示为滑动条。
12、#跳转到当前页
13、span 为行内元素,无法设置高宽;当添加样式 display : block,可设置高宽。
14、w3c中的写法为p{border:5px solid red;}
15、html5的新增特性:
1、拖拽释放(Drap and drop) API ondrop
拖放是一种常见的特性,即抓取对象以后拖到另一个位置
在 HTML5 中,拖放是标准的一部分,任何元素都能够拖放
2、自定义属性 data-id
3、语义化更好的内容标签(header,nav,footer ,aside, article, section)
4、音频 ,视频(audio,
video) 如果浏览器不支持自动播放怎么办?在属性中添加 autoplay
5、画布 Canvas
5.1)getContext()
方法返回一个用于在画布上绘图的环境 Canvas.getContext(contextID)
参数 contextID 指定了您想要在画布上绘制的类型。当前唯一的合法值是 “2d”,它指定了
二维绘图,并且导致这个方法返回一个环境对象,该对象导出一个二维绘图 API
5.2)cxt.stroke() 如果没有这一步 线条是不会显示在画布上的
5.3)canvas 和 image 在处理图片的时候有什么区别?
image 是通过对象的形式描述图片的,canvas 通过专门的 API 将图片绘制在画布上.
6、 地理(Geolocation) API
7、 本地离线存储 localStorage 长期存储数据 浏览器关闭后数据不丢失
8、 sessionStorage 的数据在浏览器关闭后自动删除
9、 表单控件 calendar ,
date , time , email , url , search , tel , file , number
10、新的技术 webworker,
websocket , Geolocation
16、标准盒子模型默认宽度是content,盒子实际宽度是content+border+padding值
17、DHTML 将 HTML、JavaScript、DOM 以及 CSS 组合在一起,用于创造动态性更强的网页。 通过 JavaScript 和 HTML DOM,能够动态地改变 HTML 元素的样式。
18、html5提供了网页文档之间发送信息和互相接收的功能。使用这个功能,只要获得网页窗口所在对象的实例,即可以同域(端口号+域)可以相互通信,跨域也可以相互通信。
19、简单列举一下常见前端框架:
布局框架:element-ui layui bootstrap
js框架:vue angular react
20、href的值是URL
URL可能的值:1:绝对 URL - 指向另一个站点(比如 href="http://www.example.com/index.htm"); 2:相对 URL - 指向站点内的某个文件(href="index.htm"); 3:锚 URL - 指向页面中的锚(href="#top")
21、<acronym> 标签 - HTML5 中不支持
1. <cite>:用来定义作品的标题;
2. <abbr>:用来指示标签简写;
3.<base>:为页面上的所有的相对链接规定默认URL或者默认目标;
4.<arconym>已经抛弃。
22、html全局属性就是所有的标签都可以使用的属性
23、长度单位包括包括
相对单位:em,ex,ch,rem,vw,vh,vmax,vmin
绝对单位:cm,mm,q,in,pt,pc,px
24、在 HTML 4.01 中有三种 <!DOCTYPE> 声明。在 HTML5 中只有一种: <!DOCTYPE html>
25、textarea没有width属性
26、html语言中加粗的标签有<b>和<strong>,或者使用css设置{font-weight:bold}
27、relative相对自身进行偏移 ,absolute相对上一级有定位的祖先元素 ,默认的盒子模型是content-box
相对定位(relative),不脱离文档流,根据自身的位置进行偏移
绝对定位(absolute),脱离文档流,如果父元素没有进行position,相对于浏览器左上角进行定位,否则相对于父元素定位
固定定位(fixed),脱离文档流,相对于浏览器左上角定位
28、Canvas是通过JavaScript的API进行绘图的,SVG是通过XML进行绘图的,这两种绘图方式的应用场景不同
29、不同的选择器
.a,.b{“,”指相同的css样式};
.a .b{“ ”指后代元素};
.a>.b{“>”指子代所有元素};
.a + .b{这个“+”是选择相邻兄弟,叫做“相邻兄弟选择器”
30、HTML5没有删除small元素
31、HTML中的标签分为闭合标签和自闭合标签。 自闭合标签有<input/><img/><br/><link/><hr/>等
32、css加载不会阻碍dom树的解析 css加载会阻碍dom树的渲染 css加载会阻碍js语句的执行
33、在HTML5中,为input元素新增了以下一些type属性值:
color:用于指定颜色的控件。
date:用于输入日期的控件(年,月,日,不包括时间)。
month:用于输入年月的控件,不带时区。
week:用于输入一个由星期-年组成的日期,日期不包括时区
time:用于输入不含时区的时间控件。
datetime:基于UTC时区的日期时间输入控件(时,分,秒及几分之一秒)。
datetime-local:用于输入日期时间控件,不包含时区。
email:用于应该包含 e-mail 地址的输入域。在提交表单时,会自动验证 email 域的值。
number: 用于应该包含数值的输入域。只能输入数字
range:用于应该包含一定范围内数字值的输入域。range 类型显示为滑动条。
search:用于输入搜索字符串的单行文本字段。换行会被从输入的值中自动移除。
tel:用于输入电话号码的控件。在移动端输入会显示数字键盘,PC端无效果
url:用于编辑URL的字段。
34、html5之后在input框类型中新增了多个内容,比如number和range
<input type='number' min='1' max='100'>
<input type='range' min='1' max='100'>
35、<dl>、<dt>、<dd> 、<h>这些 标题标签 不推荐嵌套块级元素