Есть ли сценарии, где псевдо-классы не будут работать? - PullRequest
1 голос
/ 08 ноября 2011

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

Мне пришлось взять на себя управление проектом, потому что был уволен первый разработчик, поэтому я сделал ошибку новичка, не запустив его с первого дня. Я исправлял сотни ошибок и почти все переделывал. Все, от несемантического кода, встроенных элементов макета, излишне нарезанных текстовых изображений и необходимости конвертировать все из CSS2 в CSS3.

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

ПРОБЛЕМА: У меня есть одна страница, на которой ничего не работает. Я удалил соответствующий CSS из внешней таблицы стилей и переписал его во внутренней таблице стилей. Две большие проблемы, с которыми я сталкиваюсь, это то, что псевдоэлементы и псевдоклассы не работают. Некоторое время я боролся, пытаясь выяснить, использовал ли это что-то, но затем я экспериментировал с различными псевдоклассами, такими как p: first-child {color: red} и ничего.

У меня также проблемы с заменой изображений на странице. Мой обычный текстовый отступ не работает, текст просто остается на странице.

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

EDIT

Вот ссылка с кодом страницы: http://jsfiddle.net/syren/Zsj2T/ Все остальное на сайте работает, поэтому я должен предположить, что это как-то связано с кодом на странице.

Ответы [ 2 ]

1 голос
/ 08 ноября 2011

Я вижу, что вы используете #history p:first-child.

Возможно, вы ожидаете, что этот селектор выберет первый <p> элемент #history, но это неправильно.Селектор :first-child выбирает только те элементы, которые первый дочерний элемент .

Чтобы выбрать первый <p> элемент , необходимо использовать #history p:first-of-type.

Структура вашего кода в виде дерева:

div#history    
    h2        :first-child 
    a.share   :nth-child(2)
    p         :nth-child(3)  p:first-of-type

Fiddle: http://jsfiddle.net/Zsj2T/1/
PS.Краткий справочник MDN: псевдокласс

0 голосов
/ 08 ноября 2011

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

СОВЕТ: не используйте имя цвета (RED), вместо этого используйтешестнадцатеричное значение цвета (#F00), поскольку название цвета устарело согласно w3c

...