定制Discourse中的子类别框

:bookmark: 本指南介绍如何自定义 Discourse 中的子类别框的外观,包括调整精选主题的样式、修改“框”样式以及管理类别描述截断。

:person_raising_hand: 所需用户级别:管理员

在 Discourse 中,可以自定义子类别框以增强论坛的视觉吸引力和组织性。本指南将引导您完成子类别框的各种自定义选项,包括精选主题的样式、“框”样式以及类别描述截断。

使用精选主题自定义框

要为带有精选主题的子类别框创建醒目、多彩的外观,您可以使用自定义 CSS。此方法会移除徽标并为每个子类别应用不同的背景颜色。

以下是如何使您的子类别框看起来像这样:

  1. 转到您的站点管理面板
  2. 导航到“自定义”>“主题”
  3. 创建新主题或编辑现有主题
  4. 将以下 CSS 添加到您的主题:
.category-programming {
  .category-box, .category-box-inner {
    border: none;
  }
  .category-box-heading {
    padding: 0;
    border-radius: 3px;
    img.logo {
      display: none;
    }
    h3 {
      padding: 2em 0;
    }
  }
  .category-box-ruby {
    .category-box-heading {
      background-color: #BF1E2E;
    }
    .category-box-heading > a[href] {
      color: white;
    }
  }
  .category-box-php {
    .category-box-heading {
      background-color: #0E76BD;
    }
    .category-box-heading > a[href] {
      color: white;
    }
  }
  .category-box-javascript {
    .category-box-heading {
      background-color: #D7BB2F;
    }
    .category-box-heading > a[href] {
      color: white;
    }
  }
}

调整 CSS 选择器和颜色以匹配您的特定类别名称和所需的配色方案。

自定义“框”样式

如果您使用的是子类别的“框”样式,您可以进行类似的自定义:

在您的主题 CSS 中,添加以下代码:

.category-programming .category-boxes {
  .category-box {
    border: none;
  }
  .category-box-heading {
    padding: 0;
    border-radius: 3px;
    img.logo {
      display: none;
    }
    h3 {
      padding: 1em 0;
    }
  }
  .category-box-ruby {
    .category-box-heading {
      background-color: #BF1E2E;
    }
    .category-box-heading > h3 {
      color: white;
    }
  }
  .category-box-php {
    .category-box-heading {
      background-color: #0E76BD;
    }
    .category-box-heading > h3 {
      color: white;
    }
  }
  .category-box-javascript {
    .category-box-heading {
      background-color: #D7BB2F;
    }
    .category-box-heading > h3 {
      color: white;
    }
  }
}

再次,修改选择器和颜色以适应您的论坛结构和设计偏好。

管理类别描述截断

默认情况下,Discourse 会将类别描述截断为类别框中的 4 行。您可以使用自定义 CSS 进行调整:

要将描述缩短为两行,请将此 CSS 添加到您的主题:

.category-boxes .description .overflow {
  max-height: 3em;
}

调整 max-height 值以获得所需的可见行数。

移动设备注意事项

:information_source: 在桌面设备上使用“带子类别的框”样式时,请注意,主题在移动设备上可能仍然可见。此行为可能是 Discourse 设计中的有意为之,以保持在小屏幕上的可读性。

如果您需要调整移动设备布局,您可能需要为移动设备视图添加特定的 CSS,或者咨询 Discourse 主题开发人员以获得更量身定制的解决方案。

附加资源

感谢您提供上述提示。

基本设置 > 桌面类别页面样式

在这里,我选择了“带子类别的框”,因为我不希望显示主题。

这在桌面上有效,但在移动设备上无效。在移动设备上,主题仍然可见。这是故意的吗?