Как использовать один макет для нескольких страниц с css для каждой страницы в dnn?

Я хочу использовать один файл макета в DNN для трех страниц. Каждая страница имеет уникальный стиль (css). И большинство разделов div / на этих страницах используют class вместо id. Проблема: В некоторых случаях классы применяются к родительским блокам / разделам, а их дочерние элементы становятся доступными для редактирования. например:

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

Как видите, внутри особого ряда есть контейнеры. Теперь предположим, что у меня есть другая страница, использующая тот же макет, и мне нужно добавить еще один класс помимо специальной строки, как мне это сделать. Если я создам еще один 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>

Я жестко кодирую макет, а изначально шаблон / макет не должен использоваться. Поскольку я не могу добавить класс css (и не хочу этого), единственный способ, который я могу придумать, - это создать файл css для каждой страницы, скопировать код всех требуемых классов и вставить его в селектор идентификаторов, например:

Страница 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 к родительскому разделу / разделу?

Вы говорите о создании скина, скин-объекта, контейнера или модуля? Если вам нужен настраиваемый контент на странице, вы обычно используете для этого модуль. Вы можете разместить это на любой странице и, возможно, в настройках этого модуля указать css ...

VDWWD 26.10.2018 14:30
0
1
82
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете использовать файл css, специфичный для страницы. Вы можете указать файлы страницы css в настройках страницы для каждой страницы.

Используйте skin.css (в папке вашего скина) для стилей, которые применяются к любой странице, использующей этот скин.

Вы можете использовать файлы css для контейнеров, при этом специальные контейнеры получают специальные файлы css.

И, как упоминалось выше, вы можете применить к каждой странице специальный файл css.

Другие вопросы по теме