Я хочу использовать один файл макета в 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, специфичный для страницы. Вы можете указать файлы страницы css в настройках страницы для каждой страницы.
Используйте skin.css (в папке вашего скина) для стилей, которые применяются к любой странице, использующей этот скин.
Вы можете использовать файлы css для контейнеров, при этом специальные контейнеры получают специальные файлы css.
И, как упоминалось выше, вы можете применить к каждой странице специальный файл css.
Вы говорите о создании скина, скин-объекта, контейнера или модуля? Если вам нужен настраиваемый контент на странице, вы обычно используете для этого модуль. Вы можете разместить это на любой странице и, возможно, в настройках этого модуля указать css ...