2012-02-02 3 views
1

У меня есть такие же правило, когда первый находится во внешнем файле .css и второй внутренняя через ... В эксCSS - внутреннее и внешнее + важное! Правило

.img1 { background-image: url("....") !important; } < - объявленное внутри .css файл и добавляются через к коде

.img1 { background-image: url("....") !important; } < - указанный внутри код через деталь.

Похоже, что внешний + важный превосходит внутренний + важный.

Почему? и что можно сделать, чтобы исправить это, кроме снятия важного! правят во внешнем правиле CSS

Благодаря

+3

Честно говоря, в годы кодирования я ни разу не нашел необходимость использовать важное правило. Если вы думаете логически о структуре, вы можете полностью контролировать все, не используя! Important. Я бы удалил оба важных объявления, и ваша проблема решена. – Scott

+0

+1 к комментарию Скотта, '! Important' декларации нарушают естественное каскадирование, старайтесь избегать их, как чуму, если можете. Если оба объявления идентичны, то вы объявляете первое/последнее? Попробуйте импортировать тот, который должен иметь приоритет, как последний. –

ответ

0

звучит как это о CSS селектор-старшинства, которым в основном:

  • если разные правила применяются к одному элементу, более конкретное правило, является используется (p.class лучше, чем просто .class)
  • это правила одинаковы, то позже используется
  • правила, содержащие !important являются предпочтительными по сравнению с «нормальными» е verytime
  • если два правила, содержащие !important применяются к одному элементу, более конкретный один или позже один используется

, чтобы узнать больше об этом, взгляните на http://www.vanseodesign.com/css/css-specificity-inheritance-cascaade/

позже = далее вниз в появившемся css-файле или содержимом css-файла, включенном дальше в один и тот же html-документ.

Смежные вопросы