HTML常见面试题

本文介绍了HTML常见面试题,包括HTML语义化标签、HTML标签分类、img的alt属性、Web Storage的分类、浏览器端存储方式、Label的用途、HTML5新标签、canvas绘图命令等核心概念。

HTML常见面试题

1.关于HTML语义化的了解,你知道的都有哪些标签?

header、footer、article、address都属于语义化明确的标签。

  • ①用正确的标签做正确的事情。

  • ②html 语义化让页面的内容结构化,结构更清晰,便于对浏览器、搜索引擎解析;即使在没有样式 CSS 情况下也以一种文档格式显示,并且是容易阅读的;

    ③ 搜索引擎的爬虫也依赖于 HTML 标记来确定上下文和各个关键字的权重,利于 SEO;

    ④ 使阅读源代码的人对网站更容易将网站分块,便于阅读维护理解。

2.HTML标签有哪些:

1.块级标签:

默认宽度100%(占满一行);

块级标签自动换行(独占一行,右边不能有任何东西);

块级标签可以使用CSS设置宽度高度!

常用的块状元素有:div、 p、 h1 、h6、ol、ul、dl、table、address、blockquote、form

2.行级标签:

默认宽度由内容撑开(内容多宽、宽度就占多宽);

行级标签不会自动换行(一行当中,从左往右依次排列);

行级标签的宽度高度不能设置! 常用的内联元素有:a、strong、b、em、i、del、s、ins、u、span

常用的内联块状元素有:img、input

3.img标签中的alt属性的作用是

提供替代图片的信息,使屏幕阅读器能获取到关于图片的信息。

4.Web Storage分类 :

1.sessionStorage

用于本地存储一个会话(session)中的数据,这些数据只有在同一个会话中的页面才能访问并且当会话结束后数据也随之销毁。因此sessionStorage不是一种持久化的本地存储,仅仅是会话级别的存储。

2.localStorage

用于持久化的本地存储,除非主动删除数据,否则数据是永远不会过期的。

5.常见的浏览器端存储的方式

1.Cookie:

cookie会随着每次HTTP请求头信息一起发送,无形中增加了网络流量,另外,cookie能存储的数据容量有限,根据浏览器类型不同而不同,IE6大约只能存储2K。

Cookie可以实现记录访问者的信息、在页面之间传递信息、自动识别用户。

2.sessionStorage:

使用于Firefox2+的火狐浏览器,用这种方式存储的数据仅窗口级别有效,同一个窗口(或者Tab)页面刷新或者跳转,都能获取到本地存储的数据,当新开窗口或者页面时,原来的数据就失效了。

缺点:IE不支持、不能实现数据的持久保存。

3.localStorage:

localStorage是Web Storage互联网存储规范中的一部分,现在在Firefox3.5、Safari 4和IE8中得到支持。 缺点:低版本浏览器不支持。

6.Label 的作用是什么?是怎么用的?

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

解析:两种用法:一种是 id 绑定,一种是嵌套。

7.HTML5 的 form 如何关闭自动完成功能?

答案:将不想要自动完成的 form 或 input 设置为 autocomplete=off

8.HTML增加了哪些标签

1、video,表示一段视频并提供播放的用户界面;

2、audio,表示音频;

3、canvas,表示位图区域;

4、source,表示为video和audio提供数据源;

5、svg,用于定义矢量图等等。

9.canvas常用命令

1.首先使用canvas标签。

<canvas id="myCanvas" width="200" height="100" style="border:1px solid #000000;">
您的浏览器不支持 HTML5 canvas 标签。
</canvas>

2.使用 JavaScript 来绘制图像

(canvas 元素本身是没有绘图能力的。所有的绘制工作必须在 JavaScript 内部完成:)

1.首先,找到 元素:

var c=document.getElementById(“myCanvas”);

2.然后,创建 context 对象:

var ctx=c.getContext(“2d”);

下面的两行代码绘制一个红色的矩形:

ctx.fillStyle="#FF0000";

ctx.fillRect(0,0,150,75);

设置fillStyle属性可以是CSS颜色,渐变,或图案。fillStyle 默认设置是#000000(黑色)。

fillRect(x,y,width,height) 方法定义了矩形当前的填充方式。

3.canvas路径

在Canvas上画线,我们将使用以下两种方法:

  • moveTo(x,y) 定义线条开始坐标

  • lineTo(x,y) 定义线条结束坐标

      再 ctx.stroke();  线条就出来了。 
    

4.canvas 画圆

在canvas中绘制圆形, 我们将使用以下方法:

arc(x,y,r,start,stop,true|false) true代表逆时针,false代表顺时针

<script>

var c=document.getElementById("myCanvas");

var ctx=c.getContext("2d");

ctx.beginPath(); (开始路径)

ctx.arc(95,50,40,0,2*Math.PI,true);(圆心坐标为95,50,半径为40,逆时针画了一圈)

ctx.stroke(); (没有这个步骤,图形出不来)

ctx.closePath() (结束路径一般可以不用写)

</script>

在这里插入图片描述

5.canvas-文本

使用 canvas 绘制文本,重要的属性和方法如下:

  • font - 定义字体
  • fillText(text,x,y) - 在 canvas 上绘制实心的文本
  • strokeText(text,x,y) - 在 canvas 上绘制空心的文本
<script>

var c=document.getElementById("myCanvas");

var ctx=c.getContext("2d");

ctx.font="30px Arial";

ctx.fillText("Hello World",10,50);

</script>

在这里插入图片描述

6.canvas-渐变

渐变可以填充在矩形, 圆形, 线条, 文本等等, 各种形状可以自己定义不同的颜色。

以下有两种不同的方式来设置Canvas渐变:

  • createLinearGradient(x,y,x1,y1) - 创建线条渐变
  • createRadialGradient(x,y,r,x1,y1,r1) - 创建一个径向/圆渐变

当我们使用渐变对象,必须使用两种或两种以上的停止颜色。

addColorStop()方法指定颜色停止,参数使用坐标来描述,可以是0至1.

使用渐变,设置fillStyle或strokeStyle的值为 渐变,然后绘制形状,如矩形,文本,或一条线。

使用 createLinearGradient():

示例:

<script>

var c=document.getElementById("myCanvas");

var ctx=c.getContext("2d");

// Create gradient

var grd=ctx.createLinearGradient(0,0,200,0);

grd.addColorStop(0,"red");

grd.addColorStop(1,"white");

// Fill with gradient

ctx.fillStyle=grd;

ctx.fillRect(10,10,150,80);

</script>

在这里插入图片描述

7.canvas图像

把一幅图像放置到画布上, 使用以下方法:

- drawImage(image,x,y)

<body>

<p>Image to use:</p>

<p>Canvas:</p>

<canvas id="myCanvas" width="250" height="300" style="border:1px solid #d3d3d3;">

您的浏览器不支持 HTML5 canvas 标签。</canvas>

<script>

var c=document.getElementById("myCanvas");

var ctx=c.getContext("2d");

var img=document.getElementById("scream");

img.onload = function() {

	ctx.drawImage(img,10,10);

} 

</script>

</body>
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值