如何覆盖元素样式使其无法更改?
How to overwrite element style so it cannot be changed?
我正在写一个 Chrome 扩展,我需要使所有元素的位置相对。我尝试将 position: relative !important;
添加到 body
的样式中。然而,当我滚动页面时,页面内的一些 JS 将 body 子元素的样式更改为 position: fixed
并且它变得固定。我不希望这种情况发生,那么,有什么方法可以让所有元素一劳永逸吗?
我已经在此页面上测试了此行为:http://sandesh.epapr.in/709519/Ahmedabad/02-02-2016#dual/4/3,我希望页眉和页脚不固定,但没有成功。
你不能,有人总是可以更具体地或 JavaScript 更改样式。
您可以取消绑定附加到文档滚动的所有 jQuery。这将阻止站点的 javascript 更改 CSS 开头。
$(document).unbind('scroll');
您可以使用 chrome 检查 window 查看您的页面上正在执行哪些 javascript 文件以及您的样式发生了什么变化,一旦您确定了正在执行的功能然后您可以编辑函数以禁用此更改。
您有以下顺序,同时考虑 样式 sheets / 样式规则:
- 声明标记为 !important
作者风格的声明sheet(网站提供)
specificity = Concatenating a & b & c with the following order and weights:
a = 100 * ( number of ID attributes in the selector )
b = 10 * ( number of Class attributes (or Pseudo-classes) in the selector )
c = 1 * ( number of tag names (or Pseudo-elements) in the selector )
更高的特异性(第一)
- 主样式中的规则sheet
如果特异性相同:
- 风格sheet/文档
下的存在
- 样式sheet/文档
上位
- 导入样式中的规则sheets
如果特异性相同:
- 风格sheet/文档
下的存在
- 样式sheet/文档
上位
特异性较低(下一个)
- 主样式中的规则sheet
如果特异性相同:
- 风格sheet/文档
下的存在
- 样式sheet/文档
上位
- 导入样式中的规则sheets
如果特异性相同:
- 风格sheet/文档
下的存在
- 样式sheet/文档
上位
user style sheet 中的声明
[喜欢第 2 部分]
- User-Agent 样式的声明sheet(由浏览器提供)
[喜欢第 2 部分]
我正在写一个 Chrome 扩展,我需要使所有元素的位置相对。我尝试将 position: relative !important;
添加到 body
的样式中。然而,当我滚动页面时,页面内的一些 JS 将 body 子元素的样式更改为 position: fixed
并且它变得固定。我不希望这种情况发生,那么,有什么方法可以让所有元素一劳永逸吗?
我已经在此页面上测试了此行为:http://sandesh.epapr.in/709519/Ahmedabad/02-02-2016#dual/4/3,我希望页眉和页脚不固定,但没有成功。
你不能,有人总是可以更具体地或 JavaScript 更改样式。
您可以取消绑定附加到文档滚动的所有 jQuery。这将阻止站点的 javascript 更改 CSS 开头。
$(document).unbind('scroll');
您可以使用 chrome 检查 window 查看您的页面上正在执行哪些 javascript 文件以及您的样式发生了什么变化,一旦您确定了正在执行的功能然后您可以编辑函数以禁用此更改。
您有以下顺序,同时考虑 样式 sheets / 样式规则:
- 声明标记为 !important
作者风格的声明sheet(网站提供)
specificity = Concatenating a & b & c with the following order and weights:
a = 100 * ( number of ID attributes in the selector )
b = 10 * ( number of Class attributes (or Pseudo-classes) in the selector )
c = 1 * ( number of tag names (or Pseudo-elements) in the selector )更高的特异性(第一)
- 主样式中的规则sheet
如果特异性相同:- 风格sheet/文档 下的存在
- 样式sheet/文档 上位
- 导入样式中的规则sheets
如果特异性相同:- 风格sheet/文档 下的存在
- 样式sheet/文档 上位
- 主样式中的规则sheet
特异性较低(下一个)
- 主样式中的规则sheet
如果特异性相同:- 风格sheet/文档 下的存在
- 样式sheet/文档 上位
- 导入样式中的规则sheets
如果特异性相同:- 风格sheet/文档 下的存在
- 样式sheet/文档 上位
- 主样式中的规则sheet
user style sheet 中的声明 [喜欢第 2 部分]
- User-Agent 样式的声明sheet(由浏览器提供)
[喜欢第 2 部分]