前端基础面试题·第一篇——HTML

1 .HTML标签头部< !DOCTYPE html> 的作用

DOCTYPE 使 document type的缩写,是html文档的类型声明,告诉浏览器文档的类型,便于解析文档。 这里会涉及到浏览器渲染页面的两种形式:

  1. CSS1 Compatible Mode(标准模式): 浏览器使用W3C的标准来解析页面。
  2. BackCompatible Mode(怪异模式): 浏览器使用自己的解析方式来解析页面,不同的浏览器在解析时会有差异。

当< !DOCTYPE html>不存在或者格式不正确时,浏览器就会以怪异模式来解析页面。

2.HTML语义化标签

1.常见的语义化标签:

header,main,footer,nav,section,article,aside,address,title等。

  1. 特点:

(1) . 结构清晰,增加了代码的可读性与可维护性

(2). 文字表现力丰富,可提升搜索引擎优化。

(3). 在没有CSS样式情况下也能呈现出较好的内容结构与代码结构

(4). 方便其他设备解析,如屏幕阅读器、盲人阅读器、移动设备等

3.meta标签

1.作用:

(1). 1meta标签主要用于描述一个网页文档的属性,例如文档的作者,网页描述,关键词,日期和时间,网页小图标等等

(2). 有利于搜索引擎优化

(3). 定义页面使用语言区,自动刷新指向个新页面等等

(4). 控制网页显示窗口
meta标签的属性:

(1). charset: 定义文档的字符编码格式

(2). name: 定义文档的元信息,如作者,日期等等

(3). content: 定义稳当元信息具体内容

(4). http-equiv: 定义与http协议相关的元信息,如缓存,重定向等

4.HTML5新特性

新增:

  1. 新增语义化标签
  2. 新增dom操作api:
js 复制代码
    document.querySelector()
    document.querySelectorAll()
  1. 新增了多媒体标签video,audio
  2. 新增了webStorage本地存储
  3. 新增了地理位置api------Geolocation
  4. 新增了webSocket
  5. 新增了浏览其实对象history
  6. 新增了相关的拖拽api
  7. 新增了canvas svg等2D绘图api
  8. 增强了表单控件 url,date,datetime,email,range等

移除:

1.移除了纯表现元素font,big,center等

  1. 移除了frame,frameset等元素

5.src,href的区别

  1. src 属性是source的缩写,用于指定外部资源的位置,指向内容会嵌入到文档中标签所在的位置,在请求src资源时会将其下载并应用到文档中,如js脚本,img图片
    当浏览器去解析到该元素时,会暂停浏览器得解析,编译和执行开始下载资源文件,当下载完资源并解析应用到文档后才会继续解析文档
  2. href属性是Hypertext Reference的缩写,用于指定网络资源所在链接地址,当浏览器关读取到该元素时,会建立当前文档与资源之间的链接,并行开始下载资源文件,不会停止当前文档的解析

6.行内元素与块级元素都有哪些

  1. 行内元素:元素宽度只有内容撑开,高,行高,padding,margin均可改变,与其他元素处于同一行
    span,a,strong,em,i,b,img,input,label,select
  2. 块级元素:元素默认占据一行,宽高等均可自定义设置
    div,h1-h6,p,ul,li,ol,table,tr,td,th,form

转换:

行内转块级:display: block;

块级转行内:display: inline;

区别:

  1. 是否能占据一行
  2. 是否可以设置宽高
  3. 行内元素只能容纳行内元素或者文本,块级元素可以容纳其他任意元素
  1. 从属区别:

    @import时css提供的导入规则,只能导入css文件

    link是html提供的导入标签,不止可以导入css,也可以导入其他类型的文件

  2. 加载顺序区别:

    @import 导入会等到整个页面加载完毕之后在进行机载

    link导入会和文档记载并行加载

  3. 兼容性区别:

    @import 只能在ie5以上才能识别

    link 不存在兼容性问题

  4. dom可控性区别

    可以通过js操作dom来控制link标签

    @import 不可以通过js操作dom来控制

  5. 权重区别:

    link样式权重高于@import权重

8.script标签的defer属性和async属性

1.html文档在解析过程中遇到script属性引入的js文件时会暂停文档的加载转而去下载js文件并解析,等解析完之后才会继续解析html文档,这会阻塞html的加载。defer,async这两个属性就是专门为了处理js脚本下载阻塞文档加载的。
defer 属性设置后,文档读取到script的会异步开始下载代码,不会阻塞文档加载,等到整个文档加载完毕之后,在开始执行js文件
async属性设置之后,文档解析到script标签时,会异步开始下载文件,等文件下载完毕之后会一步开始执行js代码,与文档流解析并行,不会阻塞文档加载,这个方式在引入多个文件时,我们无法得知具体哪个文件先执行,因为我们无法确定哪个文件先下载完成。

9.为什么要清楚默认css样式?

1.因为对于浏览器来说,有部分属性会存在默认值,而且这个默认值在不同的浏览器中可能不同,因此为了去除在不同浏览器中的成差异,提高代码的兼容性,我们需要去除css的默认样式。

2.在开发中,我们往往需要对网页元素进行个性化样式设置,但浏览器对于一些元素会有默认样式,这些样式可能在一定程度上影响我们后续的编码开发,所以为了统一性,我们通常需要在开发之前讲网站默认css样式去除,更利于在网站中进行个性化设置。

10.HTML页面中, id和class有什么区别

  1. 在html中,id属性与class属性都可以用来定义标签css样式,但同一个id属性只能由本页面中唯一一个元素使用,而class属性则没有限制。
  2. css中,id选择器需要在id值铅加上#号,class选择器需要在值前面加上.号
  3. css中id的权重高于class,两者要是有同样的属性,id会层叠class的属性
  4. id一般用于页面布局,同时其主要是定义页面布局与内容,而class主要用于样式修饰,一般先定义好样式,在使用的时直接调用
  5. id常用于页面布局,class常用于页面样式文字修饰
相关推荐
虾球xz4 分钟前
游戏引擎学习第20天
前端·学习·游戏引擎
我爱李星璇9 分钟前
HTML常用表格与标签
前端·html
疯狂的沙粒13 分钟前
如何在Vue项目中应用TypeScript?应该注意那些点?
前端·vue.js·typescript
小镇程序员29 分钟前
vue2 src_Todolist全局总线事件版本
前端·javascript·vue.js
野槐31 分钟前
前端图像处理(一)
前端
程序猿阿伟38 分钟前
《智能指针频繁创建销毁:程序性能的“隐形杀手”》
java·开发语言·前端
疯狂的沙粒40 分钟前
对 TypeScript 中函数如何更好的理解及使用?与 JavaScript 函数有哪些区别?
前端·javascript·typescript
瑞雨溪1 小时前
AJAX的基本使用
前端·javascript·ajax
力透键背1 小时前
display: none和visibility: hidden的区别
开发语言·前端·javascript
程楠楠&M1 小时前
node.js第三方Express 框架
前端·javascript·node.js·express