Как придать другой стиль CSS, если 2 страницы имеют одинаковый идентификатор? - PullRequest
0 голосов
/ 26 января 2010

на том же сайте у меня есть отказ от ответственности 2 раза в 2 разных разделах

корпоративный> disclaimer.html потребитель> disclaimer.html

один товар, который пользовательский cms моей компании генерирует id для каждой страницы

но проблема здесь в том, что он генерирует id так же, как имя страницы, и я не могу изменить имя и не могу дать другое ID

обе страницы имеют одинаковый идентификатор <body id="disclaimer">

и

я хочу применить 2 разных стиля к <p> для обеих страниц

как

для корпоративных> disclaimer.html мне нужно это p { color:#666}

для потребителя> disclaimer.html Мне нужно это p { color:#000}

как это сделать, есть ли чистый способ CSS? если это невозможно с чистым CSS, то дайте мне решение jquery.

Обновление:

Я не могу добавить файл CSS для каждой страницы в <head>.

Ответы [ 4 ]

2 голосов
/ 26 января 2010

Похоже, что вы ничего не можете сделать с чистым CSS, если страницы идентичны, за исключением URL.

Итак, псевдокод для базового решения JavaScript:

var path, section, body;
path = window.location.pathname;
section = parseToSection(path);
body = window.document.body;
if ('corporate' === section){
    body.addClass('corporate');
} else if ('consumer' === section){
    body.addClass('consumer');
}

и затем добавьте правила, подобные приведенным ниже, к вашему CSS:

body.corporate p{
    color:#666
}

body.consumer p{
    color:#000;
}

В вашем решении вы можете использовать селекторы элементов jquery вместо непосредственного использования объекта window. Также написание кода для функции parseToSection() зависит от вас.

1 голос
/ 26 января 2010

Можете ли вы просто получить на них два разных файла css?

0 голосов
/ 26 января 2010

это просто в jQuery:

$(document).ready(function() {
  var color = (document.location.pathname.match(/corporate/)) ? "#666" : "#000";
  $("body#disclaimer p").css("color", color);
}

но с чистым CSS я думаю, что это невозможно.

0 голосов
/ 26 января 2010

Подготовьте три файла css:

  1. для всего, что одинаково для всех страниц,
  2. для пользовательских стилей
  3. для корпоративных стилей

Все страницы будут ссылаться на [1], затем либо [2] или [3] в зависимости от того, что имеет отношение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...