- 使用Dede标签直接调用:这种方法最简单,直接在模板文件中使用Dede的循环标签,配合CSS实现无缝滚动,适合对HTML/CSS有一定了解的用户。
- 使用现成的Dede插件:这种方法最省心,直接下载安装插件,后台配置即可,适合新手或不想写代码的用户。
下面我将详细介绍这两种方法。

(图片来源网络,侵删)
使用Dede标签 + CSS实现(推荐)
这是最常用且灵活的方法,我们可以利用Dede的 {dede:arclist} 或 {dede:loop} 标签来获取图片,然后用纯CSS实现平滑的循环滚动效果。
步骤 1:准备图片数据
确保你的图片已经上传到DedeCMS的图集或文章中,为了方便,我们假设你有一个专门的栏目(首页轮播图”)用来存放这些图片。
步骤 2:编写HTML结构
在需要显示滚动图片的模板文件中(通常是 index.htm),添加以下HTML代码,这里我们创建一个包含图片列表的容器。
<!-- 滚动图片容器 -->
<div class="scroll-container">
<!-- 图片列表 -->
<ul class="scroll-list">
{dede:arclist typeid='你的栏目ID' row='5' orderby='pubdate' titlelen='30'}
<li>
<a href="[field:arcurl/]" title="[field:title/]">
<img src="[field:litpic/]" alt="[field:title/]">
</a>
</li>
{/dede:arclist}
</ul>
</div>
代码解释:

(图片来源网络,侵删)
{dede:arclist}:Dede的列表调用标签。typeid='你的栏目ID':请务必替换成你存放滚动图片的栏目ID,如果不指定,它会调用全站的文章。row='5':表示调用5条数据(即5张图片)。[field:litpic/]:调用文章的缩略图。[field:arcurl/]:调用文章的链接地址。[field:title/]:调用文章的标题。
步骤 3:编写CSS样式
在模板的CSS文件中(通常是 /templets/你的模板名/style.css),添加以下CSS代码来实现滚动效果。
/* 滚动图片容器 */
.scroll-container {
width: 100%; /* 设置宽度,1200px */
height: 300px; /* 设置高度 */
margin: 0 auto;
overflow: hidden; /* 隐藏超出容器的内容 */
position: relative;
background-color: #f5f5f5; /* 可选,设置背景色 */
}
/* 图片列表 */
.scroll-list {
display: flex; /* 使用flex布局 */
list-style: none;
margin: 0;
padding: 0;
width: 200%; /* 列表宽度设为容器的两倍,用于无缝循环 */
animation: scroll 20s linear infinite; /* 关键:应用滚动动画 */
}
/* 图片列表项 */
.scroll-list li {
flex-shrink: 0; /* 防止图片被压缩 */
width: 20%; /* 5张图片,每张占20%的宽度 */
height: 100%;
margin-right: 10px; /* 图片之间的间距 */
}
.scroll-list li:last-child {
margin-right: 0;
}
.scroll-list li img {
width: 100%;
height: 100%;
object-fit: cover; /* 保证图片填充且不变形 */
border-radius: 8px; /* 可选,添加圆角 */
}
/* 鼠标悬停时暂停滚动 */
.scroll-container:hover .scroll-list {
animation-play-state: paused;
}
/* 核心滚动动画 */
@keyframes scroll {
0% {
transform: translateX(0); /* 初始位置 */
}
100% {
transform: translateX(-50%); /* 向左滚动50%的宽度,正好滚动完一轮 */
}
}
CSS代码解释:
.scroll-container:设置一个固定大小的盒子,并设置overflow: hidden,这样超出部分就看不到了。.scroll-list:display: flex:让所有图片水平排列在一行。width: 200%:这是实现“无缝”循环的关键,列表的宽度是容器的两倍,这样当它滚动完一半(100%)时,看起来就像是第一张图片刚刚离开,而另一张一模一样的图片紧接着进入。animation: scroll 20s linear infinite:定义动画。scroll是动画名,20s是滚动周期(20秒),linear是匀速滚动,infinite是无限循环。
@keyframes scroll:定义动画的具体行为,从translateX(0)(原地不动)到translateX(-50%)(向左移动自身宽度的50%)。hover:当鼠标移动到滚动区域上时,通过animation-play-state: paused暂停动画,提升了用户体验。
使用现成的Dede插件
如果你不想写代码,或者功能更复杂(比如带按钮控制、分页等),使用插件是最佳选择。
步骤 1:下载插件
在网上搜索“DedeCMS 图片滚动插件”、“DedeCMS 轮播图插件”等关键词,可以从Dede官方论坛、一些Dede资源站或GitHub上下载,搜索 dedecms marquee 或 dedecms slider。

(图片来源网络,侵删)
步骤 2:上传并安装插件
- 上传文件:将下载的插件包解压,按照说明将文件上传到DedeCMS的相应目录(通常是
/include/、/templets/或/plus/等)。 - 安装插件:登录DedeCMS后台,找到“模块” -> “模块管理”或“插件管理”,点击“上传新模块”或“安装插件”,然后选择你上传的安装文件(通常是
install.php)进行安装。
步骤 3:在后台配置插件
安装成功后,通常会在后台生成一个专门的配置菜单,进入该菜单,进行如下设置:
- 选择要调用图片的栏目。
- 设置显示数量、图片大小、滚动速度、是否显示标题等。
- 保存配置。
步骤 4:在模板中调用标签
插件官方会提供具体的调用标签,你只需要在需要显示滚动图片的模板文件(如 index.htm)中,粘贴它提供的代码即可。
示例调用标签(不同插件格式不同):
{dede:plugin name='your_plugin_name'}
或者
<!-- 你的插件调用代码 -->
<div class="your-plugin-wrapper">
<!-- 插件生成的HTML结构 -->
</div>
总结与对比
| 特性 | Dede标签 + CSS | 使用插件 |
|---|---|---|
| 优点 | 轻量级:无需额外文件,加载快。 灵活:完全控制HTML结构和CSS样式。 免费:不需要购买任何东西。 |
简单易用:后台配置即可,无需代码。 功能丰富:通常自带多种效果(淡入淡出、滑动、缩放等)。 稳定:由专业开发者维护,兼容性可能更好。 |
| 缺点 | 需要代码能力:需要了解HTML、CSS和Dede标签。 功能相对单一,通常只支持一种滚动方式。 |
可能臃肿:插件可能包含大量不必要的代码,影响网站速度。 兼容性风险:可能与你的模板或Dede版本不兼容。 可能有版权或后门:来源不明的插件存在安全风险。 |
| 适用人群 | 前端开发者、有一定动手能力的站长、追求极致性能和自定义的用户。 | 新手、不想写代码的站长、需要复杂交互效果的用户。 |
建议:
- 如果只是简单的从左到右或从右到左的循环滚动,强烈推荐方法一,它干净、高效且完全可控。
- 如果你需要类似主流网站首页那种带分页器、前后切换按钮、多种切换动画的复杂轮播图,那么使用一个成熟可靠的插件是更好的选择。
