Подтвердить что ты не робот

Как очистить все стили css

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

<div>
   [implementation of my voting widget]
</div>

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

Когда я добавляю виджет на страницу на Drupal-сайте, импортированный CSS вызывает хаос с моим тщательным форматированием. Я бы хотел, чтобы мой фрагмент HTML игнорировал все таблицы стилей CSS. Возможно ли это?

Независимо от того, возможно ли это, есть ли лучшее решение?

4b9b3361

Ответ 1

Вместо того, чтобы полагаться на стили CSS, которые не переопределяются никакими импортированными таблицами стилей, вы должны предоставить вашему виджету уникальный идентификатор и убедиться, что все ваши стили являются производными от этого идентификатора, гарантируя, что вы реализуете любые стили, которые вы не хотите (margin, padding и т.д.):

<div id="votify">
   [implementation of my voting widget]
</div>

#votify {}
#votify ul {}
#votify div span {}
/* etc */

Ответ 2

Вы можете попробовать использовать таблицу стилей reset:

http://meyerweb.com/eric/tools/css/reset/

Конечно, вы не хотите перезаписывать CSS страницы, но можете получить представление о том, как reset использовать стили, которые использует ваш виджет, и использовать ваш персональный CSS. Так что-то вроде...

#voting-widget * {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}

Надеюсь, это поможет.

Ответ 3

Reset ваш CSS-код виджета до значений по умолчанию, а THEN добавьте ваш код форматирования. Это очистит все стили страниц, чтобы вы могли работать с чистого листа.

div#widget, div#widget * {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  /* ... whatever other reset code ... */

  /* ... then add your own code ... */
  color: red;
}

Ответ 4

Без использования таблицы стилей, я думаю, вам придется явно указывать все поля, дополнения, шрифты и т.д. в атрибуте style, поэтому он имеет приоритет над любыми листами CSS, которые есть.