前端面试题-HTML篇

0 阅读2分钟

1、DOCTYPE 的作用是什么?

  • DOCTYPE(文档类型声明)用于告诉浏览器当前 HTML 文档使用的 HTML 版本规范,让浏览器按照对应的规范解析页面,避免进入 “怪异模式(Quirks Mode)”。

  • 例如 HTML5 的声明:<!DOCTYPE html>(无需指定版本,简洁且兼容所有现代浏览器);HTML4 的声明则需要指定 DTD(文档类型定义),如<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

2、HTML5 新增了哪些语义化标签?

  • 语义化标签的核心作用是让标签有 “含义”,提升可读性、SEO 友好性,便于浏览器 / 爬虫理解页面结构。

  • 新增核心语义标签:<header>(页面 / 区块头部)、<nav>(导航栏)、<main>(页面核心内容)、<article>(独立文章 / 内容块)、<section>(内容分区)、<aside>(侧边栏)、<footer>(页面 / 区块底部)、<figure>(插图 / 图表容器)、<figcaption>(图注)等。

  • 对比:传统布局多用<div>(无语义),语义化标签让结构更清晰。

3、src 和 href 的区别是什么?

  • src(source):表示 “引入资源”,会暂停当前文档的解析,加载并执行引入的资源(如脚本、图片),资源加载失败会影响页面功能。

    • 示例:<script src="index.js"></script><img src="logo.png">
  • href(hypertext reference):表示 “建立链接”,不会暂停文档解析,仅建立当前文档与目标资源的关联(如跳转、样式表)。

    • 示例:<a href="https://www.baidu.com"><link href="style.css" rel="stylesheet">

4、块元素、行内元素、行内块元素,三者有何不同以及区别?

分类特性典型标签
块级元素独占一行,默认宽度 100%,可设置宽高、margin/padding示例:<div><p><h1-h6><ul><li><section>
行内元素不独占行,宽度由内容决定,不可设置宽高,margin/padding 仅左右生效示例:<span><a><em><strong><img>(特殊,行内但可设宽高)等
行内块元素不独占行,但可设置宽高,兼具行内元素和块级元素的特性示例:<img><input><button><textarea><select>,或通过 CSS display: inline-block 转换。

5、HTML5 的离线存储(LocalStorage/SessionStorage/Cookie)有什么区别?

特性CookieLocalStorageSessionStorage
存储大小约 4KB约 5MB约 5MB
有效期可设置过期时间(默认会话结束)永久存储(除非手动删除)会话结束(关闭标签 / 浏览器)
与服务器交互每次请求都会携带到服务器仅在本地,不发服务器仅在本地,不发服务器
作用域同域名下所有页面共享同域名下所有页面共享仅当前标签页(同域名不同标签不共享)
易用性原生 API 繁琐(需自行封装)原生 API 简洁(setItem/getItem同 LocalStorage