Стиль для удаления всех стилей - PullRequest
2 голосов
/ 19 декабря 2009

Есть ли способ применить стиль, который будет эффективно блокировать применение любых примененных или унаследованных стилей для этого объекта и любого содержащиеся объекты?

Ответы [ 7 ]

2 голосов
/ 19 декабря 2009

Нет. Вам придется переопределить все остальные свойства, установленные для него.

1 голос
/ 19 декабря 2009

Вы всегда можете вызвать! Важное для элемента, чтобы переопределить наследование специфичности.

.wrapper p{color:red; background:blue;} .wrapper div p{color:blue !important; background:none !important;}

1 голос
/ 19 декабря 2009

Я бы предложил добавить в конце вашего кода CSS полный код сброса, такой как от Eric Meyer .

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

1 голос
/ 19 декабря 2009

Напишите класс стилей, т.е. clearall переопределит все атрибуты, которые вам нужны, к тем, которые вы хотите использовать в качестве значений по умолчанию. * 1001 то есть *

.clearall { дисплей: блок; ясно: оба; высота: 1 пикс; поле: 0 0 0 0; ...}

Теперь вы можете использовать этот класс для

<div class"clear">
  <div class="awesome"> ..
  </div>
</div> 

<div class"clear">
   <div class="woooow"> ..
   </div>
</div>`  

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

0 голосов
/ 19 декабря 2009

Нет одного свойства CSS, которое отключает все остальные свойства CSS. Вам необходимо установить для каждого свойства любое значение, которое вы хотите (для некоторых свойств CSS, например, font-family, значение «off» отсутствует - текст должен отображаться каким-то шрифтом).

Что касается «этого объекта и любых содержащихся в нем объектов » (выделено мной), селектор * выбирает все элементы. Итак, ваше правило CSS может выглядеть так:

.turn-off-all-styles,
.turn-off-all-styles * {
    /* Disable every CSS property here */
}

Как уже упоминалось, проверьте Сброс CSS Эрика Мейера , чтобы получить хороший пример установки всех свойств CSS по умолчанию. Если вы добавляете !important после каждого значения, это должно помешать другим правилам CSS вмешиваться в этот стиль, например

.turn-off-all-styles,
.turn-off-all-styles * {
    margin: 0 !important;
    ...
}
0 голосов
/ 19 декабря 2009

Если вы хотите сделать это для целей тестирования / отладки, взгляните на дополнение Firefox Web Developer . Он имеет функции для удаления CSS для целых страниц или отдельных элементов и содержащихся в них элементов, или для изменения CSS на лету во время просмотра страницы.

Если вы ищете хороший сброс CSS для производственного использования, взгляните на Tripoli . Это набор стилей CSS, которые сбрасывают рендеринг по умолчанию в каждом браузере на одну и ту же общую базу, чтобы использовать ее в качестве отправной точки для применения собственных стилей. Существует множество других сбросов CSS, но Триполи - мой личный фаворит.

0 голосов
/ 19 декабря 2009

На самом деле - нет ... Но вы можете попробовать использовать jQuery для этих целей.

$('.class').removeClass().removeAttr('style');

Он должен удалить все классы из соответствующих элементов и очистить атрибут style. Хотя это не проверено +)

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