Есть ли в CSS функция «начать сначала»? - PullRequest
1 голос
/ 27 апреля 2010

Я использую calendar_date_select (далее CDS) в приложении на Rails, и у меня глупый вопрос. Когда я встраиваю компонент CDS в середину страницы, уже стилизованной под CSS, с ним все идет не так, как надо (пробелы, шрифты и т. Д.). Очевидно, что элементы внутри CDS унаследовали ненужные вещи от стилей, уже работающих на содержащей странице.

Теперь я могу использовать комбинацию, скажем, отладки CSS в Safari и анализировать, что не так, поэлементно. Но это (A) утомительно, и (B) может загрузить стили моего компонента тоннами особых случаев, побеждающих контейнер. Если ничего другого, я уверен, что в будущем я изменю стили содержащей страницы и должен будет поддерживать особые случаи.

Мой вопрос: возможно ли иметь DIV на странице, которая, по сути, поддерживает все существующие стили? Есть ли простой однострочник, который сделает это? В противном случае, это может быть сделано поэлементно?

например. Я знаю, какие теги генерирует CDS, поэтому могу перечислить каждый из них:

{ p: "# - НИЧЕГО - #"; a: "# - НИЧЕГО - #"; }

, где # - НИЧЕГО - # - заклинание "Магическое отключение всех унаследованных стилей".

http://code.google.com/p/calendardateselect/

Спасибо, выглядывает.

Ответы [ 3 ]

2 голосов
/ 27 апреля 2010

Вы можете захотеть окружить свой CDS-компонент div, возможно, дать ему идентификатор CDS_wrap или что-то в этом роде.

Затем в вашем CSS дайте сброс стиля этому div и всему его содержимому следующим образом:

div#CDS_wrap * {
  padding: 0;
  margin: 0;
  font-size: 12px;
  etc...
}
1 голос
/ 27 апреля 2010

В CSS3 есть initial, который должен быть тем, что вы ищете. Если вы (как и большинство людей) нацелены на CSS1-CSS2, у вас нет другого шанса, кроме как изменить свой собственный CSS, чтобы он никогда не влиял на CDS.

0 голосов
/ 27 апреля 2010

Браксо на правильном пути, но не говорит о приоритете правил. В дополнение к (условному) #CDSReset в контейнере календаря и предлагаемому правилу Braxo вам необходимо перегрузить это правило с помощью фиктивных селекторов id, разделенных запятыми, до тех пор, пока его приоритет не окажется там, где вам нужно:

#CDSReset, #bogusAlfa, #bogusBravo, #bogusCharlie /* &c. */ {
  ...
}

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

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