如何在 DNN 中为每个页面使用 css 的多个页面使用一个布局?

How to use one layout for multiple pages with css for each page in DNN?

我想在 DNN 中为三个页面使用一个布局文件。每个页面都有独特的风格(css)。这些页面中的大多数 divs/section 使用 class 而不是 id。 问题: 在某些情况下,classes 应用于父级 divs/section 并且它们的子级可编辑。例如:

<div class="special-row">
<div id="div1" class="special-col" runat="server"/>
<div id="div2" class="special-col" runat="server"/>
</div>

如您所见,特殊行内有容器。现在说我有另一个页面使用相同的布局,我需要添加另一个 class 除了特殊行,我应该怎么做。如果我创建另一个 div 例如:,

<div class="special-row">
<div id="div1" class="special-col" runat="server"/>
<div id="div2" class="special-col" runat="server"/>
</div>
<div class="special-row very-special-row">
<div id="div1" class="special-col" runat="server"/>
<div id="div2" class="special-col" runat="server"/>
</div>

我正在对布局进行硬编码,这不是 template/layout 最初应该使用的方式。由于我不能添加 css class(也不想),我唯一能想到的方法是,为每个页面创建 css 文件,复制所有需要的代码 class(s) 并将其粘贴到 id 选择器中,例如:

第 1 页:

<div id="specialDiv" class="special-row">
    <div id="div1" class="special-col" runat="server"/>
    <div id="div2" class="special-col" runat="server"/>
 </div>

page1.css:

#specialDiv{
// code of special-row
}

第 2 页:

<div id="specialDiv" class="special-row very-special-row">
    <div id="div1" class="special-col" runat="server"/>
    <div id="div2" class="special-col" runat="server"/>
 </div>

page2.css:

#specialDiv{
// code of special-row
// code of very-special-row
}

另请注意,我无法将特殊行设为 dnn 容器。 有没有一种方法可以将 css 应用于父 div/section?

您可以使用特定于页面的 css 文件。您可以在每个页面的页面设置下指定页面 css 个文件。

使用 skin.css(在您的皮肤文件夹中)获得适用于使用该皮肤的任何页面的样式。

您可以为容器使用 css 个文件,特殊的容器会得到特殊的 css 个文件。

并且,如上所述,您可以将特殊的 css 文件应用到每个页面。