文档声明


  • 什么是<!DOCTYPE>?是否需要在HTML5中使用?

  • 什么是严格模式与混杂模式

  • 列举怪异模式中的怪癖行为

  • 什么是<!DOCTYPE>?是否需要在HTML5中使用?

<!DOCTYPE>是HTML的文档声明,通过它告诉浏览器,使用哪一个HTML版本标准解析文档。

文档声明有很多种书写格式,对应不同的HTML版本,<!DOCTYPE>这种书写是告诉浏览器,这个文档使用HTML5的标准进行解析。

  • 什么是严格模式与混杂模式

严格模式: 标准模式。浏览器按照W3C标准解析代码

混杂模式: 怪异模式或兼容模式。浏览器用自己的方式解析代码

区分:与网页中的DTD直接相关

  1. 如果共包含严格DOCTYPE,一般以严格模式呈现
  2. 如果包含DTD和URI的DOCTYPE,也以严格模式呈现。有DTD没有URI的以混杂模式呈现
  3. DOCTYPE不存在或形式不正确会导致文档以混杂模式呈现。
  4. HTML5没有DTD,因此也就没有严格模式与混杂模式的区别,HTML5有相对宽松的语法,是现实,已经尽可能大的实现了向后兼容。

意义: 怪异模式是为了兼容旧网站。

  • 列举怪异模式中的怪癖行为
  1. 宽高的算法与W3C盒模型不同
  2. 在表格中的字体样式不会继承
  3. 怪异模式下可以设置行内元素宽高
  4. 怪异模式下white-space:pre会失效

语义化


  • 说说对html语义化的理解

语义元素

语义是指对一个词或者句子含义的正确解释。很多HTML标签也具有语义的意义,元素本身传达了关于标签所包含内容类型的信息。

语义化

  • 代码结构:使页面没有css的情况下,也能够呈现出很好的内容结构
  • 又利于SEO:爬虫依赖标签来确定关键字的权重,因此可以和搜索引建立良好的沟通,帮助爬虫抓取更多有效信息
  • 提升用户体验:titlealt可以用于解释名词或者解释图片信息,以及label标签的灵活运用
  • 便于团队开发和维护:语义化使得代码具有可读性
  • 方便其他设备解析: 屏幕阅读器、盲人阅读器、移动设备

HTML5常用的语义元素

image-20260404142542519

  • header: 用于定义页面的头部区域,通常包括网站logo、主导航、全站链接以及搜索框。
  • nav: 定义页面的导航链接部分区域
  • main: 定义文档的主要内容,改内容在文档中应当是独一无二的
  • article: 定义页面独立的内容,可以有自己的header、footer、section等,庄主与单个主题的博客文章、报纸文章或网页文章
  • section: 文档中的一个区域,比如,内容中的一个专题组
  • aside:表示一个和其余页面内容几乎无关的部分
  • footer: 定义最近一个章节内容或者根节点元素的页脚。一个页脚通常包含该章节作者、版权数据或者文档相关的链接等。

无障碍网页

能被残障人士使用。屏幕阅读器

常见无障碍属性:

  • 角色:定义元素是做什么的
  • 属性:给元素定义属性,使其具备更多语义
  • 状态:当前元素的条件的特殊属性

面试真题

  • 说说对html语义化的理解
  1. 去掉或者丢失央视的时候能够让页面呈现出清晰的结构

  2. 有利于SEO:和搜素引擎建立良好的沟通,有助于爬虫抓取更多的有效信息(爬虫依赖标签来确定上下文和各个关键字的权重)

  3. 方便其他设备解析

  4. 便于团队开发和维护,语义化更具可读性。

参考文章

https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements

https://developer.mozilla.org/en-US/docs/Web/Accessibility

https://developer.mozilla.org/zh-CN/docs/Web/Accessibility/ARIA

W3C标准组织


万维网联盟,主要是对Web进行标准化,解决兼容性等问题。HTML最早设计用于高校之间项目交流。

参考文章

https://www.runoob.com/w3c/w3c-process.html

SEO


  • 请描述下SEO的TDK?

什么使SEO

搜索引擎优化,针对搜索引擎优化。

如何进行SEO优化工作

内部优化

  • 合理的title、description、keywords
  • 非装饰性图片加alt
  • 不显示对象谨慎使用display:none
  • 重要内容HTML代码放在最前
  • 少用iframe,浏览器不会抓取

外部优化

放友情链接和外联。好的友情链接可以快速的提高网站的权重。

iframe


  • iframe框架有哪些优缺点
  • iframe是用来做什么的

iframe介绍

嵌入式框架,本质是一个标签,将一个完整的网页内容嵌入到现有的网页中。

ajax的出现,iframe用得越来越少了

面试经验:

  • iframe有什么用?有什么优缺点
    • 优点
      • 重载页面时不需要重载整个页面,只需要重载页面中的一个框架页
      • 方便制作导航栏
    • 缺点
      • 产生多也页面,不容易管理
      • 调用外部页面,需要额外调用css,给页面带来额外的请求次数
      • 阻塞页面的加载,window的onload事件需要在所有iframe加载完毕后才会触发
      • 浏览器的后退按钮无效
      • 无法被一些搜索引擎引到
      • 多数小型的移动设备无法完全显示框架

微格式


  • 知道什么是微格式吗?谈谈理解。在前端构建中应该考虑微格式吗?

介绍

建立在已有的、被广泛采用的标准基础之上的一组简单的、开放的数据格式

把语义嵌入到HTML中,以便于分离式开发,对Web网页进行了语义注释。将结构化类名应用到标记中,

建立在已有的、被广泛采用的标准基础之上的一组简单的、开放的数据格式

前端构建的意义

  1. 更为准确地识别内容块地的语义
  2. 可以转换成其他格式(json),提供给外部程序和Web服务使用

微格式可以对网站进行SEO优化。

参考:

https://microformats.org/

https://microformats.org/wiki/h-card

替换元素


  • 什么是可替换元素,什么是非可替换元素,各自有什么特点?

介绍

常见有:

  • 图片img
  • 内联框架iframe
  • 音频视频标签

面试经验

可替换展示效果不由CSS决定

非可替换在页面上呈现完全由CSS决定

参考:

https://developer.mozilla.org/zh-CN/docs/Web/CSS/Guides/Images/Replaced_element_properties

页面可见性

  • 页面可见性API可以有哪些用途

介绍

判断用户有没有在看当前页面,html5提供页面可见性接口

面试经验

  • 轮播效果,只有用户在看的时候才自动展示下一张
  • 信息仪表盘不在应用程序不可见时轮询服务进行更形
  • 页面想要检测是否正在渲染,一边可以精确的计算网页浏览量
  • 设备待机时,网页想要关闭设备声音