什么是 HTML?
HTML 是超文本标记语言,是用来创建网页的标准标记语言,HTML允许嵌入 图像 视频 音频 表格
!DocType 的作用
docType 出现在html文档第一行,简写是 document Type 出现在第一行的原因就是 给浏览器解析是 用什么HTMML版本去执行这个文档,浏览器本身有两个模式,一个就是按照W3C的模式,还有一个就是浏览器本身的模式,通常都叫做 怪异模式, 在怪异模式下会和 标准模式产生很大的差异,如果不定义 doctype html 的话,每个浏览器都会有不同的怪异模式处理方式,会产生非常大的差距,所以要定义
meta 标签
meta 翻译过来是 元的意思,通常称为元数据,是提供HTML的元数据 元数据是出现head标签里的 元数据的话不会出显示在页面上的, 通常是给SEO读取的,里面有 name 和key属性通常在搜索的时候体现 mete元素,通常的作用就是来设置字符集和 IE的性能等于Edge ,通常我们在写移动端的时候,还要meta上写完美视口 ,这些功能编译器都可以帮我们一键生成
行内元素 / 块级元素 非替换元素/替换元素
行内元素:不独在一行 不能设置宽高,水平的padding和margin都可以设置,垂直方向不可以
块级元素:独在一行,可以设置宽高,宽度默认 100% ,padding ,margin都可以设置
替换元素:根据标签的属性来显示具体的内容 如: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 脚本不会按顺序下载和执行。
隐藏元素的方法有哪些
display:none visibility :hidden opacity : 0 z-index transform : scale
transition和animation的区别
transition是过渡属性,这个需要一个触发事件,才可以执行动画 animation:设定好时间之后,可以自动播放 还可以循环
伪元素和伪类的区别和作用?
伪类:伪类是选择器的一种,它用于选择处于特定状态的元素
伪元素:在一些特别的位置插入元素和样式 并且我们不会文档源码中找到他,称为伪元素