我只是想知道CSS3是否存在全局CSS重置。与Eric Meyer或YUI创建的常用版本类似,但具体为CSS3。我查询了谷歌,Github和SO等渠道,但没有找到全面的解决方案。
修改: 术语“重置”可能会产生误导,因为它主要处理重置浏览器默认设置。 “重新校准”可能更适合。
我应该澄清并提出一个用例。
这可以与正常的CSS重置同时工作,还可以处理由旋转,框阴影,动画,边框半径等引起的任何样式。例如,如前面this post所述:
-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重置提出。
非常感谢。
答案 0 :(得分:2)
解决问题的真正方法是使用scoped
属性,或使用Shadow DOM创建窗口小部件。
这样,您可以将自己与外部CSS隔离开来。不幸的是,它们都没有准备好使用,所以是的,你必须手动保护自己。
另一种方法是使用!important
在代码中设置所有内容(转换,字体大小,填充等),而不是将其重置为0 / none,然后重新设置它。