如何在不使用css中的!important的情况下覆盖primefaces组件内联样式?

Sur*_*khi 5 html javascript css jsf primefaces

我在p:selectonemenu我的一个网页上使用primefaces组件.我正在尝试使用我自己的css(不使用!important)来应用样式,但它不是从我自己的外部css文件中获取样式.它从某个地方采用了一些内联样式,但我不希望该组件具有该内联样式.我希望它使用我自己的外部css文件中的样式.

我没有从这种内联风格的来临.这是来自任何JavaScript?我需要帮助,下面是我的代码.

Primefaces代码

<p:selectOneMenu value="#{Controller.property}" id="dropDown">
  <f:selectItem itemLabel="Select One" itemValue="0" />
  <f:selectItems value="#{controller.property}"/>
</p:selectOneMenu>
Run Code Online (Sandbox Code Playgroud)

HTML解释代码

<div id="j_idt40" class="ui-selectonemenu ui-widget ui-state-default 
ui-corner-all ui-helper-clearfix" style="width: 190px;">
Run Code Online (Sandbox Code Playgroud)

Ale*_*lov 0

内联样式具有最大的“特异性”,并且它们会覆盖所有适用的规则,因此您唯一的补救措施是!important(除非您可以以某种方式覆盖style属性值)。

编辑:抱歉忽略了核心问题。所以,你的食谱如下:

插入

 <script>
   debugger;
 </script>
Run Code Online (Sandbox Code Playgroud)

在末尾<body>,打开 DevTools,然后加载页面。

现在,进入 DevTools 调试器后,切换到 Elements 面板,找到接收内联样式的元素。它现在应该还没有。

右键单击该元素,然后在上下文菜单中选择Break on...| Attribute modifications。现在,当style属性值更改时,您应该在相应的 JavaScript 行上中断。祝你好运!