Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 规范化页面某一部分上的css_Javascript_Html_Css_Normalize_Normalize Css - Fatal编程技术网

Javascript 规范化页面某一部分上的css

Javascript 规范化页面某一部分上的css,javascript,html,css,normalize,normalize-css,Javascript,Html,Css,Normalize,Normalize Css,我正在开发一个可以通过用户书签访问的js插件。当用户按下书签时,插件会显示一个带有表单的弹出窗口,允许用户键入和保存注释 我想对我的插件应用normalize.css样式表,而不使用iframe或影响页面的其余部分(这意味着我不能将normalize.cssstylehseet直接嵌入插件) 有什么想法/建议吗?虽然你最终可以用HTML5做到这一点,但在大多数情况下,这是不可能的 你必须给你的插件元素一个类或id,并在你的插件的css文件中手动“规范化”这些元素(或通过javascript) 编

我正在开发一个可以通过用户书签访问的js插件。当用户按下书签时,插件会显示一个带有表单的弹出窗口,允许用户键入和保存注释

我想对我的插件应用
normalize.css
样式表,而不使用iframe或影响页面的其余部分(这意味着我不能将
normalize.css
stylehseet直接嵌入插件)


有什么想法/建议吗?

虽然你最终可以用HTML5做到这一点,但在大多数情况下,这是不可能的

你必须给你的插件元素一个类或id,并在你的插件的css文件中手动“规范化”这些元素(或通过javascript)

编辑:

继续我的回答:@Tibos comment:你永远不能绝对肯定你的插件elmenets不会被设计成不同的样式,但是你可以通过给你的插件命名一个id,在你的css中提供合理数量的特殊性:

#myPlugin .container {
  background: #fff;
} 

#myPlugin input {
  border:0;
}

正如蒂博斯所提到的,
的核选项!重要信息
,但最好将其保存在极端情况下(如布局完全破坏)。如果有必要,给用户一个覆盖样式的机会通常是一件好事。

扩展这个答案:为了确保样式表不会影响页面的其余部分,请在其中添加任何规则,并在其前缀中添加插件中根元素的id(#myplugin.something{font:Arial;})。如果你想确保页面中的规则不会影响你的插件,你可以多次复制id以增加规则的特殊性,甚至添加!对所有规则都很重要。(#myplugin#myplugin#myplugin.something{font:Arial!important;}