Sifr3 - возможно ли переопределить стили CSS с помощью родительского селектора? - PullRequest
1 голос
/ 24 августа 2009

Я хотел бы переопределить настройку, которая уже определена при выборе родительский селектор, но я не знаю как. Скажем, на сайте есть 2 страницы, подобные следующим ...

-Домашняя страница-
<body><h1 class="sifr">Home</h1></body>

-О странице-
<body class="about"><h1 class="sifr">About</h1></body>

тогда у меня это есть в sirf-config.js ...

sIFR.replace (имя шрифта, { селектор: «h1.sifr», css: '.sIFR-root {color: # 666666; Размер шрифта: 29px; }» });

sIFR.replace (имя шрифта, { селектор: 'body.about h1.sifr', css: '.sIFR-root {color: #FFFFFF; Размер шрифта: 29px; }» });

но это не работает ...

Если кто-нибудь поможет мне, я буду признателен.

Ответы [ 3 ]

0 голосов
/ 24 августа 2009

Я не использую Sifr, поэтому я не знаю точно, как это работает. Я предполагаю, что код создает код CSS следующим образом:

h1.sifr { color: #666666; font-size: 29px; }
body.about h1.sifr { color: #FFFFFF; font-size: 29px; }

Если это так, это переопределит стиль цвета для заголовка на странице about, поскольку селектор для второй строки более специфичен, чем селектор в первой строке.

Подробнее о специфичности можно прочитать здесь .

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

Вы можете использовать плагин Firebug в Firefox для проверки элементов на странице, чтобы точно определить, какой CSS влияет на каждый элемент.

0 голосов
/ 25 августа 2009

Запустите замены для body.about h1.sifr до h1.sifr. sIFR не вычисляет специфичность, но выполняет замены по порядку. Замена h1.sifr заменяет все такие элементы, поэтому body.about h1.sifr находит только элементы, которые уже были заменены.

0 голосов
/ 24 августа 2009

Проверьте порядок загрузки CSS и выдачи команд замены ...

...