Есть ли сброс CSS3?

Мне просто интересно, существует ли глобальный сброс CSS для CSS3. Что-то вроде часто используемых версий, созданных Эриком Мейером или YUI, но специально для CSS3. Я запросил такие каналы, как Google, Github и здесь, на SO, но не нашел комплексного решения.

Изменить: термин «сброс», вероятно, вводит в заблуждение, поскольку он в основном касается сброса настроек браузера по умолчанию. «Повторная калибровка» может подойти лучше.

Я должен уточнить и предложить вариант использования.

Это будет работать в тандеме с обычным сбросом CSS, но также обрабатывать любые стили, вызванные вращением, тенью блока, анимацией, радиусом границы и т. д. Например, как упоминалось ранее на этот пост:

-webkit-transform:none; /* Safari and Chrome */
-moz-transform:none; /* Firefox */
-ms-transform:none; /* IE 9 */
-o-transform:none; /* Opera */
transform:none;

Приведенный выше фрагмент и другие подобные ему будут связаны с любыми тегами HTML, на которые они могут повлиять, как это происходит с текущими сбросами CSS.

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

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

Большое спасибо.


person D.Alexander    schedule 27.06.2012    source источник
comment
Как будто префиксы сами по себе уже недостаточно громоздки...   -  person BoltClock    schedule 27.06.2012
comment
Есть ли какой-нибудь тег, который устанавливает CSS-преобразования по умолчанию? Я не понимаю, зачем сбрасывать такие вещи.   -  person bfavaretto    schedule 27.06.2012
comment
Я не понимаю, как это может быть полезно. Почему ты спрашиваешь об этом? Вероятно, есть причина, по которой вы не можете найти существующее решение...   -  person thirtydot    schedule 27.06.2012
comment
Я согласен с @bfavaretto ... Я не думаю, что это действительно необходимо. У вас возникла проблема, из-за которой вам нужно сбросить эти стили?   -  person Connor    schedule 27.06.2012
comment
Я согласен с каждым из вас, и в моем конкретном случае, когда у нас есть скрипт, который генерирует html в iframe, который можно запускать где угодно, я просто создал сбросы вручную. Да, такие вещи, как тень блока и преобразование, влияли на сам iframe, что просто заставило меня задуматься, существуют ли другие, более комплексные решения, которые могли бы уловить поведение CSS3, которое я, возможно, невольно пропустил.   -  person D.Alexander    schedule 27.06.2012
comment
Какой браузер по умолчанию устанавливает тень окна и преобразование для iframe?   -  person robertc    schedule 28.06.2012
comment
На самом деле это была не столько настройка по умолчанию или проблема с браузером. Мы сталкивались с ситуациями, когда, когда наш скрипт вызывался на странице с нестандартным стилем тега iframe (кстати, с использованием !important), он каскадировался на iframe, сгенерированный нашим подключаемым модулем.   -  person D.Alexander    schedule 28.06.2012
comment
Google показывает различные результаты для Сброс CSS3. Взглянем.   -  person arttronics    schedule 29.06.2012


Ответы (1)


Реальный способ решить вашу проблему — либо использовать атрибут scoped, либо создать свой виджет с помощью Shadow DOM.

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

Альтернативой является установка всего (преобразование, размер шрифта, отступы и т. д.) в вашем коде с помощью !important вместо того, чтобы сбрасывать его на 0/none, а затем устанавливать его заново.

person Rich Bradshaw    schedule 29.06.2012
comment
Очень познавательно. Shadow DOM и атрибут области действия — их нужно будет изучить и внедрить, когда они станут стабильными. Спасибо. - person D.Alexander; 29.06.2012