HTML5经典面试题

html5经典面试题

1.html5新增标签

布局标签

header section footer article aside nav

<header>头部</header>
<nav>导航栏</nav>
<article>文章</article>
<aside>侧边栏</aside>
<section>主题</section>
<footer>脚部</footer>

表单标签

input : ‘type=week|date| time | datetime | number| search | url |tel | color|email| range’

range:滑块形式,并且可以设置最大值max、最小值min、当前值value,默认范围为1-100,但是并不会显示当前数值

<input type="range" min="1" max="50" value="10">

number:可以点击↑或者↓来选择数字,并且可以设置最大值max以及最小值min

number:可以点击↑或者↓来选择数字,并且可以设置最大值max以及最小值min

多媒体标签

audio(音频) video (视频)

其他标签

progress(进度条) meter (度量器) canvas(绘图标签)

2.html5新增属性

1、contextmenu 指定右键菜单。
2、contentEditable 设置元素是否可以进行内容编辑
3、hidden 隐藏元素
4、draggable 规定元素是否可被拖拽
5、data-* 自定义属性来储存数据
6、placeholder占位属性
7、required 设置为必填属性

 <input type="url" name="blog" id="blog" value="" required="required"/>

8、pattern 设置正则属性

 <input type="text" required="required" pattern="^[0-9a-zA-Z]{6,16}$" />请输入a-zA-Z0-9且长度6-16位的字符

9、autofocus 自动聚焦属性 让指定的表单元素获得焦点。
10、autocomplete自动填充属性 该属性默认打开的

<input type="text" name="username" autocomplete="on/off" />

11、novalidate不验证属性 提交表单时不应该验证 form 或 input 域。

<button formnovalidate="formnovalidate" >提交</button>

12、multiple多选属性 可选择多个文件

 <input type="file" multiple="multiple"/>

13.minlength(最小长度)
14.maxlength(最大长度)

3.行内元素和块级元素区别

块级元素会独占一行,默认情况下,其宽度自动填满其父元素宽度。
行内元素不会独占一行,相邻的行内元素会排列在同一行里,直到一行排不下,才会换行,其宽度随元素的内容而变化。
块级元素可以包含行内元素和块级元素;行内元素不能包含块级元素。
行内元素设置width无效,height无效(可以设置line-height),margin上下无效,padding上下无效

4.列举几个行内标签和块级标签

常见行内元素:a,span,i,u,em,sub,sup, strong,
常见的块级元素:div,p,h,ul,li,dl,dt,dd,hr
常见行内块元素:textarea,input,img,button

5.行内元素的maring 和padding 值可以设置吗

行内元素的 padding-top、 padding-bottom、 margin-top、 margin-bottom属性设置是无效的
行内元素的 padding-left、 padding-right、 margin-left、 margin-bottom属性设置是有效的
行内元素的 padding-top、 padding-bottom从显示的效果上是增加的,但其实设置的是无效的。并不会对他周围的元素产生任何影响

6.简述readyonly 与 disabled 的区别

readyonly

1,只针对input(text/password)和textarea有效,
2,不可编辑,但是是可以复制。(只读)

disabled

1,对于所有的表单元素有效,
2,完全不可编辑,并且是不能复制的。 (禁用)
表单元素在使用了disabled后,当我们将表单以POST或GET的方式提交的话,这个元素的值不会被传递出去,而readonly会将该值传递出去

7.伪元素有哪些

伪元素有六个,分别是 ::after、::before、::first-line、::first-letter、::selection、::backdrop 。其中 ::selection 永远只能以两个冒号开头(因为IE8只支持单冒号的语法,所以,如果你想兼容IE8,保险的做法是使用单冒号。)

8.哪些标签存在伪元素

大部分容器标签(大部分双标签)都有伪元素 iframe没有伪元素
大部分单标签都没有伪元素,但是img有伪元素

## 9.伪类和伪元素的区别
他们的区别就是一个本质上是元素,另一个本质上是类。

说说伪元素

伪元素既然带一个“元素”,说明它和 p ,a ,h1 等一样,可以包裹住页面的一部分内容并对其中的内容施加一定的影响。  我们可以通过样式表给其书写样式
伪元素既然还带一个“伪”,说明它其实在 DOM 树中并不存在,只是逻辑上存在所以我们抽象出来的一个元素而已。

再来说说伪类

一句话概括  文档树的某个元素上并没有某个类,但是就好像在某种条件下,这个元素上被声明了这个类一样。
例如:hover 我们并没有在 a 元素上声明一个叫 hover 的类,但是当我们把鼠标悬停在 a 元素上时,这个 a 元素上就好像有一个 hover 类, 其样式会根据hover样式里书写的那样进行变化

10.伪元素可以用js来操作么

原则上js是不可以操纵伪元素的
但是可以通过window.getComputedStyle() 方法,获取伪元素的CSS样式声明对象,然后利用getPropertyValue方法或直接使用键值访问都可以获取对应的属性值。

#myId:before {
content: "hello world!";
display: block;
width: 100px;
height: 100px;
background: red;
}
// HTML代码
<div id="myId"></div>
// JS代码
var myIdElement = document.getElementById("myId");
var beforeStyle = window.getComputedStyle(myIdElement, ":before");
console.log(beforeStyle); // [CSSStyleDeclaration Object]
console.log(beforeStyle.width); // 100px
console.log(beforeStyle.getPropertyValue("width")); // 100px
console.log(beforeStyle.content); // "hello world!"
修改伪元素样式

1.更换class来实现伪元素属性值的更改:

// CSS代码
.red::before { 
content: "red"; 
color: red; 
}
.green::before { 
content: "green"; 
color: green;
}
// HTML代码
<div class="red">内容内容内容内容</div>
// jQuery代码
$(".red").removeClass('red').addClass('green');

2.使用CSSStyleSheet的insertRule来为伪元素修改样式:

document.styleSheets[0].addRule('.red::before','color: green'); // 支持IE
document.styleSheets[0].insertRule('.red::before { color: green }', 0); // 支持非IE的现代浏览器

11.html5 的网页为什么只需要写<! DOCTYOE HTML>?

HTML4.01中的doctype需要对DTD进行引用,因为HTML4.01基于SGML。而HTML5不基于SGML,因此不需要对DTD进行引用,但是需要doctype来规范浏览器的行为。其中,SGML是标准通用标记语言,简单的说,就是比HTML,XML更老的标准,这两者都是由SGML发展而来的,而HTML5不是的。

12.<!doctype html>放在页面最前面有什么作用?

/声明文档的解析类型(document.compatMode),避免浏览器的怪异模式。
/document.compatMode:
BackCompat:怪异模式,浏览器使用自己的怪异模式解析渲染页面。 默认值
CSS1Compat:标准模式,浏览器使用W3C的标准解析渲染页面。
浏览器按照自己的方式解析渲染页面,那么,在不同的浏览器就会显示不同的样式。
如果你的页面添加了那么,那么就等同于开启了标准模式,那么浏览器就得老老实实的按照W3C的标准解析渲染页面,这样一来,你的页面在所有的浏览器里显示的就都是一个样子了

的怪异模式解析渲染页面。 默认值
CSS1Compat:标准模式,浏览器使用W3C的标准解析渲染页面。
浏览器按照自己的方式解析渲染页面,那么,在不同的浏览器就会显示不同的样式。
如果你的页面添加了那么,那么就等同于开启了标准模式,那么浏览器就得老老实实的按照W3C的标准解析渲染页面,这样一来,你的页面在所有的浏览器里显示的就都是一个样子了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值