前端基础面试题·第一篇——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常用于页面样式文字修饰
相关推荐
云枫晖3 分钟前
Webpack系列-开发环境
前端·webpack
Rverdoser8 分钟前
制作网站的价格一般由什么组成
前端·git·github
拉不动的猪9 分钟前
深入理解 JavaScript 中的静态属性、原型属性与实例属性
前端·javascript·面试
linda261817 分钟前
链接形式与跳转逻辑总览
前端·javascript
怪可爱的地球人21 分钟前
骨架屏
前端
用户6778471506225 分钟前
前端将html导出为word文件
前端
前端付豪26 分钟前
如何使用 Vuex 设计你的数据流
前端·javascript·vue.js
李雨泽29 分钟前
通过 Prisma 将结构推送到数据库
前端
前端小万33 分钟前
使用 AI 开发一款聊天工具
前端·全栈
咖啡の猫1 小时前
Vue消息订阅与发布
前端·javascript·vue.js