2014-03-24 234 views
0

我想围绕div放一个边框。为什么内联样式被覆盖

<div style="border-color: yellow; border-style: dotted; border: 5px;"> 
<p> 
    This is a test. 
</p> 
</div> 

然而,当我运行这个,这是浏览器显示什么,被应用于实际的风格:

<div style="border: 5px currentColor;">...</div> 

结果是无边框显示在所有。

这对我没有意义,为什么边框样式被覆盖。我只能想象Bootstrap已经在某处设置了一个重要的覆盖,但我一直无法跟踪这一点。

+0

您可以在浏览器(Chrome中的开发人员工具,Firefox中的Firebug)中使用Web检查器来跟踪继承的样式。这样,在第一步中,您可以消除任何干扰的“重要性”。 – dakab

回答

2

变化你所申请联样式的顺序。您可以在border风格中添加所有3个样式,如border:5px dotted yellow;。那么如果你仍然想要按照你的方式去做,只需要改变顺序。首先添加border样式,然后指定其他样式。

<div style="border: 5px; border-color: yellow; border-style: dotted;"> 
<p> 
    This is a test. 
</p> 
</div> 
+0

我现在明白了。 “Border:5px”本身就是“Border:5px none currentColor”的简写形式,因为它是样式中的最后一个,所以它覆盖了指定的边框颜色和边框样式。我真正想要写的是'边界宽度'而不是'边界'。 –

+0

@GregHollywood干杯.. :) – James

1

在Chrome中Inpsector:

  • 单击要检查
  • 右边的元素,选择已计算标签

在那里,你可以看到应用的样式,以及它们的来源,所以它会让你知道为什么它被覆盖。

  • 您自己也可以随时使用!important

enter image description here