HTML 是前端开发的基石,是每个开发者必须掌握的核心技能。本文整理了高频 HTML 面试题,并系统梳理了相关知识点,帮助你在面试中脱颖而出,同时为实际开发工作打下坚实基础。
一、HTML 基础概念
(一)DOCTYPE 声明
<!DOCTYPE>
声明位于文档最前面,告诉浏览器以何种文档标准解析页面。在 HTML5 中,该声明被简化为:
<!DOCTYPE html>
作用:确保浏览器以标准模式渲染页面,避免进入混杂模式导致样式和布局异常。
(二)语义化理解
语义化 HTML 是指使用恰当的标签表达内容的含义。例如:
<!-- 非语义化 -->
<div class="header"></div>
<!-- 语义化 -->
<header></header>
优势:
- SEO 友好:搜索引擎更容易理解页面内容。
- 可访问性增强:辅助技术(如屏幕阅读器)能更好地解析页面。
- 代码可读性提升:便于开发和维护。
二、元素分类与特性
(一)替换元素 vs 非替换元素
类型 | 特点 | 示例 |
---|---|---|
替换元素 | 内容由外部资源决定 | <img> , <video> |
非替换元素 | 内容由 CSS 和 HTML 直接控制 | <div> , <span> |
解释:
- 替换元素:如
<img>
和<video>
,其内容由外部资源决定,CSS 只能控制其位置和尺寸。 - 非替换元素:如
<div>
和<span>
,其内容完全由 HTML 和 CSS 控制。
(二)行内与块级元素
// 常见行内元素
const inlineElements = ['span', 'a', 'img', 'strong'];
// 常见块级元素
const blockElements = ['div', &