2013-07-10 102 views
6

我想将GWT-Bootstrap添加到我已经启动的项目中。我设法使用它,但Bootstrap CSS覆盖了其他所有CSS。结果是我所有以前的UI元素都混在一起了。我的CSS被Bootstrap CSS覆盖

页边距,文字大小和很多元素都不再适合。我无法使用Bootstrap,因为项目的其余部分都无法使用。我想对Bootstrap做一个渐进式的改变,并保留原来的东西。

我想有我CSSS在这一优先顺序:

  • MyApp的
  • GWT
  • 引导

我尝试没有命令他们在我的* .gwt.xml成功:

<stylesheet src="css/gwt-bootstrap.css" /> 
<stylesheet src="css/bootstrap.min.css" /> 
<stylesheet src="gwt/clean/clean.css" /> 
<stylesheet src="MyApp.css" /> 

什么我可不可以做?

+1

同一问题:http://stackoverflow.com/questions/17313196/gwtbootstrap-always-applies-to-all-elements – Charmin

回答

6

使用样式的优先级由多个驱动复杂的算法,而不仅仅是包含在HTML中的顺序。 CSS样式选择最具体的选择规则,其中内联规则被认为更具体,然后外部附加,然后按ID选择,然后选择类,并在结束选择标签名称。例如,该段<p id="xyz" class="xyz">会红的独立规则的顺序:

.xyz { 
    color: blue; 
} 
#xyz { 
    color: red; 
} 

如果有两个规则具有相同选择的类型,数量的问题。所以,选择.xyz .abc是“更强”,然后.qwerty

如果有两个规则在每个类别数量而言相当于选择,然后,在最末端的顺序考虑......

您还可以强制不同的顺序与!important指令。

Read more关于它与“CSS特异性”关键字。

0

覆盖样式的工作方式是最后一次加载胜利。

所以,如果你期望从GWT-引导的方式来覆盖引导CSS那么你要订购的样式表为了更多的东西是这样的:

<stylesheet src="css/bootstrap.min.css" /> 
<stylesheet src="gwt/clean/clean.css" /> 
<stylesheet src="css/gwt-bootstrap.css" /> 
<stylesheet src="MyApp.css" />