HTML面试题

186 阅读5分钟

什么是 HTML?

HTML 是超文本标记语言,是用来创建网页的标准标记语言,HTML允许嵌入 图像 视频 音频 表格 

!DocType 的作用

docType 出现在html文档第一行,简写是 document Type 出现在第一行的原因就是 给浏览器解析是 用什么HTMML版本去执行这个文档,浏览器本身有两个模式,一个就是按照W3C的模式,还有一个就是浏览器本身的模式,通常都叫做 怪异模式, 在怪异模式下会和 标准模式产生很大的差异,如果不定义 doctype html 的话,每个浏览器都会有不同的怪异模式处理方式,会产生非常大的差距,所以要定义

meta 标签

meta 翻译过来是 元的意思,通常称为元数据,是提供HTML的元数据 元数据是出现head标签里的 元数据的话不会出显示在页面上的, 通常是给SEO读取的,里面有 name 和key属性通常在搜索的时候体现 mete元素,通常的作用就是来设置字符集和 IE的性能等于Edge ,通常我们在写移动端的时候,还要meta上写完美视口  ,这些功能编译器都可以帮我们一键生成

行内元素 / 块级元素 非替换元素/替换元素

行内元素:不独在一行 不能设置宽高,水平的paddingmargin都可以设置,垂直方向不可以
块级元素:独在一行,可以设置宽高,宽度默认 100%paddingmargin都可以设置
替换元素:根据标签的属性来显示具体的内容  如:img video 
非替换元素:就是把标签里面的内容显示出来 如 div p  span

img中的title和alt是做什么的

title是当图片显示出来之后 鼠标触摸之后的显示的文字, 然而 alt就是当图片不出来代替图片显示的文字

HTML5 新增的语义化标签

header footer aside nav section audio video time dialog canvas等

URL href src

URL :统一资源定位符 这个是经常用到的,就是 绝对路径,相对路径, 绝对路径就是完整的路径,而相对路径,就在此文件夹为起点
href:超文本引入 就是相互建立联系 常用的标签 link 还有 a 
src:引入资源替换 就是把这个替换给标签 常用的有 img script

水平垂直居中的方法

flex布局   justify-content:center align-items:center 
绝对定位,相对定位 把left right top bottom 设置为0 然后直接设置 margin : auto 
translate(-50,-50%)
gird布局,栅格布局
还有 display :table-call

重绘与回流(重排)

回流(重排):就是页面的节点发生了宽高之内的变化,导致浏览器需要重新计算,在将计算的结果绘制出来,就是引发 局部和全局的排版,就会引发回流
重绘:一个节点发生样式的变化,但是没有影响其他元素,就本身风格和外表发生变化,这就重绘
回流会非常影响性能,需要重新更新 render 树,如果节点特别多的哈,大量的计算,会破坏界面显示,导致用户体验不好
所以得尽量 局部布局,减少重排的可能

HTML4 与 HTML 5的区别

第一个区别就是在 doctype 的区别 简化了很多,在H4中规定3中 doctype 第二个就是可以使用音频和视频了,最重要的还是更新了很多语义化标签了,不再是整个页面全是div了
简化了编码符

HTML5的form如何关闭自动补全功能?

input中有一个属性 autocomplete 关闭 为 off

HTML 增加了哪些不同的表单元素

color ,time number search date

说一下canvas和svg的区别?

canvas翻译过来是画布,SVG是一种矢量图,所以放大不会失帧 canvas依赖于分辨率,canvas可以以很多格式保存,而SVG只能用SVG来保存
canvas适合频繁地重绘图像,SVG复杂度高的话会减慢渲染速度
canvas不可以添加事件处理器,SVG支持事件绑定

b 与 strong 的区别和 i 与 em 的区别?

b:粗体 i:斜体 
em 和 strong 都是强调的意思,em表示的音标强调的意思  strong表示的强调标记严重性

引入css的方法与区别

第一种肯定是 内联样式,除了!important 是权重最大,
第二种嵌套样式,
第三种就是 link引入css,
其次就是在 css样式中使用 import引入css

js的延迟加载有哪些方式

defer :HTML 文档解析过程中遇到此类 <script> 标签不阻塞 HTML 文档的解析,而是会暂存到一个队列中,等整个 HTML 文档解析完成后再按队列的顺序请求并执行 JS 脚本。
        遇到 script标签 有defer属性,会放在一个队列中,等所有HTMl执行完之后才执行队列里面的JS 就是等HTML全部执行完之后,才会去按顺序执行JS          
async:遇到此类 <script> 标签会并行下载脚本,不会阻塞 HTML 的解析。如果下载完成后 HTML 还未解析完成,则会暂停解析 HTML ,先执行 JS 脚本后,再解析 HTML。
        如果使用的是 async属性 那么外部引入script标签和HTML并发请求 ,如果HTMl还没有加载完,而JS加载完了,就会暂停解析HTMl,先去运行执行JS 
        如果html加载完了,js还没有加载完,就会等js加载完才会去执行 多个 async JS 脚本不会按顺序下载和执行。

隐藏元素的方法有哪些

displaynone   visibility :hidden opacity0  z-index  transform : scale

transition和animation的区别

transition是过渡属性,这个需要一个触发事件,才可以执行动画  animation:设定好时间之后,可以自动播放 还可以循环

伪元素和伪类的区别和作用?

伪类:伪类是选择器的一种,它用于选择处于特定状态的元素
伪元素:在一些特别的位置插入元素和样式 并且我们不会文档源码中找到他,称为伪元素