dede友情链接如何实现竖向排列效果?

99ANYc3cd6
预计阅读时长 13 分钟
位置: 首页 DEDE建站 正文

直接修改模板文件(最直接)

这种方法的核心思想是,DedeCMS默认的友情链接标签 {dede:flink/} 会生成一个包含所有链接的 <dl> 列表,我们可以修改这个标签,让它为每一个链接都生成一个独立的列表项,从而实现竖向排列。

dede 友情链接 竖
(图片来源网络,侵删)

步骤 1:找到并打开模板文件

你需要找到当前网站主题(模板)中包含友情链接的文件,这个文件通常是:

  • index.html (首页模板)
  • footer.htm (页脚模板)

用文本编辑器(如 Dreamweaver、VS Code 或 Notepad++)打开这个文件。

步骤 2:修改友情链接标签

找到类似这样的代码:

{dede:flink/}

这行代码默认会生成类似下面的HTML结构:

dede 友情链接 竖
(图片来源网络,侵删)
<dl id="link">
    <dt>友情链接</dt>
    <dd>
        <a href="https://www.example1.com" target="_blank">网站名称1</a>
        <a href="https://www.example2.com" target="_blank">网站名称2</a>
        <a href="https://www.example3.com" target="_blank">网站名称3</a>
        ...
    </dd>
</dl>

可以看到,所有链接都在一个 <dd> 标签内,是横向排列的。

步骤 3:使用带参数的友情链接标签

为了实现竖向排列,我们需要让 {dede:flink/} 为每个链接都生成一个 <dd> 标签,DedeCMS 提供了 rowlinktype 等参数。

将原来的代码替换为:

{dede:flink row='50' linktype='2'}
<a href="[field:url/]" target="_blank">[field:name/]</a>
{/dede:flink}

参数解释:

dede 友情链接 竖
(图片来源网络,侵删)
  • row='50':表示调用50个友情链接,你可以根据需要修改这个数字。
  • linktype='2':表示调用“文字链接”,如果你想调用图片链接,可以设置为 1
  • [field:url/]:调用友情链接的网址。
  • [field:name/]:调用友情链接的网站名称。

修改后生成的HTML结构会是这样的:

<a href="https://www.example1.com" target="_blank">网站名称1</a>
<a href="https://www.example2.com" target="_blank">网站名称2</a>
<a href="https://www.example3.com" target="_blank">网站名称3</a>
...

每个链接都是独立的,它们会自然地根据容器宽度进行换行,形成竖向排列。

步骤 4:添加CSS样式(可选但推荐)

为了让链接看起来更美观,你可以给它们添加一些CSS样式,在模板的 <head> 部分或者在专门的CSS文件中添加以下样式:

/* 为友情链接容器添加样式 */
.link-container {
    /* 你可以根据需要调整这些样式 */
    line-height: 2.5; /* 增加行高,让链接之间有更多间距 */
    font-size: 14px;
    text-align: center; /* 如果是居中显示 */
    padding: 10px;
}
.link-container a {
    color: #333; /* 链接颜色 */
    text-decoration: none; /* 去掉下划线 */
    margin: 0 10px; /* 链接之间的左右间距 */
    transition: color 0.3s; /* 鼠标悬停时的颜色过渡效果 */
}
.link-container a:hover {
    color: #0066cc; /* 鼠标悬停时的颜色 */
    text-decoration: underline; /* 悬停时显示下划线 */
}

然后在你的HTML模板中,给友情链接包裹一个 div 并赋予这个class:

<div class="link-container">
    {dede:flink row='50' linktype='2'}
    <a href="[field:url/]" target="_blank">[field:name/]</a>
    {/dede:flink}
</div>

通过CSS控制(更灵活)

如果你不想修改模板文件,或者你的友情链接标签结构比较复杂,也可以通过CSS强制将横向排列的链接变成竖向排列。

步骤 1:保持模板标签不变

在你的模板文件中,保持原来的友情链接标签 {dede:flink/} 不变。

步骤 2:添加CSS样式

在CSS文件中,找到 #link dd 这个选择器(这是DedeCMS默认生成的结构),然后添加 display: block; 属性。

/* 在你的CSS文件中添加以下代码 */
/* 强制将dd内的链接块状化,使其独占一行 */
#link dd a {
    display: block; /* 关键属性:将行内元素变成块级元素 */
    text-align: center; /* 可选:居中显示 */
    margin: 5px 0; /* 可选:增加上下间距 */
    color: #555; /* 可选:设置颜色 */
}

CSS属性解释:

  • display: block;:这是最关键的一步,它会把 <a> 标签从默认的 inline(行内)元素变成 block(块级)元素,块级元素会自动占据一整行,从而实现了竖向排列。
  • margin: 5px 0;:给每个链接块添加一些上下外边距,让它们之间有间隔,不至于挤在一起。

总结与建议

方法 优点 缺点 适用场景
修改模板 HTML结构更清晰、更符合语义,易于维护和扩展。 需要修改模板文件,对新手可能有一点点门槛。 推荐使用,特别是当你想要完全自定义友情链接的显示方式时。
CSS控制 无需修改模板,操作简单快速。 修改了元素的显示类型,可能不符合原始的HTML语义。 当你只是想快速实现竖向效果,且不想动模板文件时。

对于大多数情况,我强烈推荐使用方法一,因为它生成的代码更干净,也更容易进行后续的样式调整,方法二则是一个非常快速有效的备选方案。

-- 展开阅读全文 --
头像
dede导航带样式循环,如何实现动态样式加载?
« 上一篇 今天
increment在C语言中如何正确使用?
下一篇 » 今天

相关文章

取消
微信二维码
支付宝二维码

目录[+]