核心概念
- PSD (Photoshop Document): 设计师使用 Adobe Photoshop 创建的视觉稿,它包含了网站的布局、颜色、字体、图片和所有视觉效果,它是一个“静态图片”,不能直接在浏览器中运行。
- XHTML (Extensible HyperText Markup Language): 一种更严格、更纯净的 HTML 版本,它规定了网页的结构和,哪里是标题 (
<h1>),哪里是段落 (<p>),哪里是导航链接列表 (<ul>),XHTML 使用标签来“标记”这些内容。 - CSS (Cascading Style Sheets): 用于描述 XHTML 结构在浏览器中如何显示的语言,它控制了网页的视觉呈现,包括位置、颜色、字体、间距、背景等,将内容与样式分离是现代网页设计的核心原则。
我们的目标就是:用 XHTML 搭建骨架,用 CSS 添加血肉和皮肤。

(图片来源网络,侵删)
转换流程详解
第一步:准备工作
-
获取并分析 PSD 文件
- 打开你的 PSD 文件,设计师会创建一个包含多个“图层”的文件,每个图层代表网页上的一个元素(如 Logo、图片、按钮等)。
- 检查 PSD 文件中是否有一个名为
Guides(参考线) 的图层,如果没有,自己用参考线把设计稿的主要区域(如页头、导航、内容区、页脚)划分出来,这会让你在切图和布局时事半功倍。
-
安装必要软件
- 代码编辑器: 如 VS Code, Sublime Text, Atom, Dreamweaver 等,强烈推荐使用 VS Code,它有强大的代码提示和插件功能。
- 浏览器: Google Chrome, Firefox, Microsoft Edge,它们都有强大的开发者工具,用于调试 CSS。
- (可选) 图像处理软件: Adobe Photoshop 或 GIMP,用于从 PSD 中导出图片。
第二步:切片
“切片”是从 PSD 文件中提取出需要作为图片使用的元素的过程。
-
使用切片工具
(图片来源网络,侵删)- 在 Photoshop 中,选择“切片工具”(通常在裁剪工具组下)。
- 规划切片: 不要盲目地切,只切那些无法用 CSS 实现的复杂图形,
- Logo (如果包含特殊效果)
- 背景图片
- 按钮或图标
- 复杂的边角或渐变
- 绘制切片: 在需要导出的元素周围拖动鼠标,创建切片区域,尽量让切片贴合元素边缘。
-
导出切片
- 完成所有切片后,点击
文件->导出->存储为 Web 所用格式 (旧版)(快捷键Ctrl+Alt+Shift+S/Cmd+Option+Shift+S)。 - 在弹出的窗口中:
- 预设: 选择
JPEG(用于照片类图片)、PNG-24(用于需要透明背景的图片)或GIF(用于简单动画或图标)。 - 质量: 调整 JPEG 质量,在文件大小和图片质量之间找到平衡。
- 优化: 勾选“转换为 sRGB”,并确保“透明度”和“交错”选项根据需求设置。
- 预设: 选择
- 选择一个文件夹,点击“存储”,Photoshop 会将所有切片自动导出为独立的图片文件。
- 完成所有切片后,点击
第三步:搭建 XHTML 结构
这是构建网页骨架的过程,我们为 PSD 中的每个主要部分创建对应的 XHTML 标签。
-
创建基础文件
- 在你的代码编辑器中,创建两个文件:
index.html和style.css,并将它们放在同一个文件夹中。 - 在
index.html中,编写 XHTML 的基本结构:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />我的网站</title> <link rel="stylesheet" type="text/css" href="style.css" /> </head> <body> <!-- 网页内容将在这里 --> </body> </html> - 在你的代码编辑器中,创建两个文件:
-
分析 PSD 并添加结构化标签
(图片来源网络,侵删)- 从上到下分析你的 PSD 设计稿,使用语义化的 XHTML 标签来划分区域。
- 页头:
<div id="header"> - 导航:
<div id="nav">或<ul id="nav">(如果导航是链接列表) - 区:
<div id="content"> - 侧边栏:
<div id="sidebar"> - 页脚:
<div id="footer">
-
- 在这些结构化标签内,添加具体的内容标签。
- Logo:
<img src="images/logo.png" alt="网站Logo" /> - 标题:
<h1>欢迎来到我的网站</h1> - 段落:
<p>这里是网站的介绍性文字...</p> - 导航链接列表:
<ul id="nav"> <li><a href="#">首页</a></li> <li><a href="#">关于我们</a></li> <li><a href="#">服务</a></li> <li><a href="#">联系我们</a></li> </ul> - 图片:
<img src="images/image.jpg" alt="描述图片的文字" /> - 表单:
<form>...</form>
index.html 示例:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />我的网站 - PSD to XHTML/CSS</title>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
<!-- 页头 -->
<div id="header">
<a href="index.html"><img src="images/logo.png" alt="Logo" id="logo" /></a>
</div>
<!-- 导航 -->
<div id="nav">
<ul>
<li><a href="#" class="active">首页</a></li>
<li><a href="#">关于我们</a></li>
<li><a href="#">产品</a></li>
<li><a href="#">联系我们</a></li>
</ul>
</div>
<!-- 主要内容区 -->
<div id="main-content">
<div id="content">
<h1>欢迎</h1>
<p>这是网站的主要内容区域,所有最重要的信息都应该放在这里。</p>
<img src="images/main-image.jpg" alt="主图片" />
</div>
<!-- 侧边栏 -->
<div id="sidebar">
<h2>相关链接</h2>
<ul>
<li><a href="#">链接 1</a></li>
<li><a href="#">链接 2</a></li>
<li><a href="#">链接 3</a></li>
</ul>
</div>
</div>
<!-- 页脚 -->
<div id="footer">
<p>© 2025 我的网站. 版权所有.</p>
</div>
</body>
</html>
第四步:编写 CSS 样式
我们将 style.css 文件填充内容,让网页“活”起来。
-
重置默认样式
- 不同浏览器对标签的默认样式(如外边距、内边距)不同,为了确保一致性,先使用 CSS Reset。
- 在
style.css顶部添加:
/* CSS Reset */ * { margin: 0; padding: 0; box-sizing: border-box; /* 推荐,让盒模型计算更直观 */ } -
设置基础样式
- 为
<body>设置全局字体、颜色和背景。
body { font-family: Arial, Helvetica, sans-serif; /* 使用 - 为
