DedeCMS 的页面风格通常具有以下特点:

(图片来源网络,侵删)
- 布局结构:经典的“左右分栏”或“上下分栏”布局,内容区域居中。
- 视觉风格:早期以蓝色、灰色为主色调,界面简洁、朴素,带有浓厚的 Web 2.0 时代气息。
- 表单元素:使用
<table>进行布局,这是 DedeCMS 及许多早期 CMS 的标志性特征,表单元素(输入框、按钮)样式较为基础。 - 交互提示:通常使用
alert()弹窗进行简单的错误或成功提示。
下面,我将分步为您创建一个仿 DedeCMS 风格的注册页面,包含 HTML 结构、CSS 样式和基础的 JavaScript 交互。
第一步:HTML 结构
我们将创建一个包含头部、主体(注册表单)和底部的完整页面,主体部分将使用 <table> 来布局表单元素,这是仿制的核心。
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">会员注册 - 仿 DedeCMS 风格</title>
<!-- 引入我们稍后会写的 CSS 文件 -->
<link rel="stylesheet" href="style.css">
</head>
<body>
<!-- 1. 页面头部 -->
<div class="header">
<div class="logo">
<a href="/">DedeCMS 仿制站点</a>
</div>
</div>
<!-- 2. 主体内容区 -->
<div class="main">
<div class="reg-main">
<h3>会员注册</h3>
<!-- 使用 table 布局,这是 DedeCMS 的经典特征 -->
<form name="userform" id="regForm" action="register.php" method="post" onSubmit="return checkSubmit()">
<table width="100%" border="0" cellpadding="5" cellspacing="1" bgcolor="#e9e9e9">
<tr>
<td height="35" align="right" bgcolor="#f7f7f7">用户名:</td>
<td bgcolor="#ffffff">
<input type="text" name="userid" id="userid" class="intxt" size="30" />
<span class="gray">4-12位字符,字母、数字、下划线</span>
</td>
</tr>
<tr>
<td height="35" align="right" bgcolor="#f7f7f7">密码:</td>
<td bgcolor="#ffffff">
<input type="password" name="pwd" id="pwd" class="intxt" size="30" />
<span class="gray">6-20位字符,建议使用字母+数字组合</span>
</td>
</tr>
<tr>
<td height="35" align="right" bgcolor="#f7f7f7">确认密码:</td>
<td bgcolor="#ffffff">
<input type="password" name="pwdok" id="pwdok" class="intxt" size="30" />
</td>
</tr>
<tr>
<td height="35" align="right" bgcolor="#f7f7f7">电子邮箱:</td>
<td bgcolor="#ffffff">
<input type="text" name="email" id="email" class="intxt" size="30" />
<span class="gray">用于找回密码和接收通知</span>
</td>
</tr>
<tr>
<td height="35" align="right" bgcolor="#f7f7f7">验证码:</td>
<td bgcolor="#ffffff">
<input type="text" name="vdcode" id="vdcode" class="intxt" size="10" />
<!-- 仿制 DedeCMS 的验证码图片 -->
<img id="vdimgck" src="img.php" alt="看不清?点击换一张" align="absmiddle" style="cursor:pointer" onclick="this.src='img.php?'+Math.random();" />
</td>
</tr>
<tr>
<td height="35" align="right" bgcolor="#f7f7f7"> </td>
<td bgcolor="#ffffff">
<input type="checkbox" name="agree" id="agree" value="1" />
<label for="agree">我已阅读并同意 <a href="#">《用户协议》</a></label>
</td>
</tr>
<tr>
<td height="35" align="right" bgcolor="#f7f7f7"> </td>
<td bgcolor="#ffffff">
<input type="submit" name="submit" value="同意协议并注册" class="coolbg" />
<input type="reset" name="reset" value="重 填" class="coolbg" />
</td>
</tr>
</table>
</form>
</div>
</div>
<!-- 3. 页面底部 -->
<div class="footer">
<p>Copyright © 2025 DedeCMS 仿制站点 All Rights Reserved.</p>
</div>
<!-- 引入我们稍后会写的 JavaScript 文件 -->
<script src="script.js"></script>
</body>
</html>
第二步:CSS 样式
我们为上面的 HTML 添加 CSS 样式,以实现 DedeCMS 经典的视觉风格。
/* style.css */
/* 全局重置和基础样式 */
body {
margin: 0;
padding: 0;
font-family: Arial, "宋体", sans-serif;
font-size: 12px;
background-color: #f5f5f5;
color: #333;
}
a {
color: #0066cc;
text-decoration: none;
}
a:hover {
text-decoration: underline;
}
/* 头部样式 */
.header {
background-color: #3d80d6;
height: 70px;
border-bottom: 2px solid #2d6bb8;
}
.logo {
width: 960px;
margin: 0 auto;
line-height: 70px;
text-align: center;
}
.logo a {
color: #fff;
font-size: 24px;
font-weight: bold;
text-decoration: none;
}
区样式 */
.main {
width: 960px;
margin: 20px auto;
background-color: #fff;
border: 1px solid #dcdcdc;
border-radius: 3px;
}
.reg-main {
padding: 20px;
width: 500px; /* 固定宽度,居中显示 */
margin: 0 auto;
}
.reg-main h3 {
text-align: center;
font-size: 16px;
margin-bottom: 20px;
color: #3d80d6;
}
/* 表单样式 - 核心部分 */
.reg-main table {
border-collapse: collapse;
}
.reg-main td {
line-height: 25px;
}
.reg-main .intxt {
border: 1px solid #ccc;
padding: 4px 5px;
width: 200px;
height: 24px;
font-size: 12px;
box-sizing: border-box; /* 确保padding不会增加宽度 */
}
.reg-main .gray {
color: #999;
margin-left: 5px;
}
.reg-main .coolbg {
background-color: #3d80d6;
color: #fff;
border: none;
padding: 6px 15px;
height: 30px;
cursor: pointer;
font-size: 12px;
border-radius: 3px;
}
.reg-main .coolbg:hover {
background-color: #2d6bb8;
}
/* 底部样式 */
.footer {
text-align: center;
margin-top: 20px;
padding: 20px 0;
color: #999;
font-size: 12px;
}
第三步:JavaScript 交互
我们添加一些简单的 JavaScript 来处理表单提交验证和仿制 DedeCMS 的 alert() 提示。

(图片来源网络,侵删)
// script.js
function checkSubmit() {
// 获取表单元素
var userid = document.getElementById('userid');
var pwd = document.getElementById('pwd');
var pwdok = document.getElementById('pwdok');
var email = document.getElementById('email');
var vdcode = document.getElementById('vdcode');
var agree = document.getElementById('agree');
// 用户名验证
if (userid.value.length < 4 || userid.value.length > 12) {
alert('用户名长度必须在4-12位之间!');
userid.focus();
return false;
}
// 密码验证
if (pwd.value.length < 6 || pwd.value.length > 20) {
alert('密码长度必须在6-20位之间!');
pwd.focus();
return false;
}
// 确认密码验证
if (pwd.value !== pwdok.value) {
alert('两次输入的密码不一致!');
pwdok.focus();
return false;
}
// 邮箱格式验证
var emailReg = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,6}$/;
if (!emailReg.test(email.value)) {
alert('请输入有效的电子邮箱地址!');
email.focus();
return false;
}
// 验证码验证
if (vdcode.value.length !== 4) {
alert('请输入4位验证码!');
vdcode.focus();
return false;
}
// 用户协议验证
if (!agree.checked) {
alert('请阅读并同意用户协议!');
return false;
}
// 所有验证通过,可以提交
// 在实际项目中,这里通常会使用 AJAX 提交数据
// 为了仿制 DedeCMS 的风格,我们使用 alert 提示成功
alert('注册成功!正在跳转...');
return true;
}
第四步:仿制验证码(可选)
img.php 是一个用于生成验证码图片的 PHP 文件,如果你没有 PHP 环境,可以用一张静态图片代替,或者用 JavaScript 生成一个简单的验证码。
使用静态图片 (最简单)
创建一个名为 img.php 的文件,内容如下,它只是输出一张图片。
<?php
// img.php
// 实际项目中,这里会用 GD 库动态生成验证码图片
// 这里我们直接输出一张示例图片
header("Content-type: image/jpeg");
readfile("captcha_sample.jpg"); // 请准备一张名为 captcha_sample.jpg 的图片
?>
使用 JavaScript 生成简单验证码

(图片来源网络,侵删)
如果你想在前端完成,可以在 HTML 中添加 <script> 标签,并在 script.js 中添加生成验证码的函数。
HTML 修改:
在 <body> 标签结束前添加:
<script>
// 页面加载时生成验证码
window.onload = function() {
generateCaptcha();
};
function generateCaptcha() {
const chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';
let captcha = '';
for (let i = 0; i < 4; i++) {
captcha += chars.charAt(Math.floor(Math.random() * chars.length));
}
document.getElementById('vdimgck').setAttribute('data-captcha', captcha);
// 在真实场景中,这里会把 captcha 存入 session
}
</script>
JavaScript 修改:
修改 checkSubmit 函数,增加对 JS 生成验证码的校验。
// 在 script.js 的 checkSubmit 函数中,修改验证码验证部分
// ...
// 验证码验证
var captcha = document.getElementById('vdimgck').getAttribute('data-captcha');
if (vdcode.value.toUpperCase() !== captcha) {
alert('验证码输入错误!');
vdcode.focus();
generateCaptcha(); // 错误后刷新验证码
vdcode.value = '';
return false;
}
// ...
你将拥有一个完整的、仿 DedeCMS 风格的注册页面。
- HTML:使用了
<table>布局,并包含了所有经典的注册字段。 - CSS:模仿了 DedeCMS 简洁、朴素的蓝灰色调风格。
- JavaScript:实现了基础的表单校验和
alert()提示,符合 DedeCMS 的交互习惯。
你可以将这三个文件(index.html, style.css, script.js)放在同一个文件夹下,用浏览器打开 index.html 即可看到效果。
