2013-12-12 114 views
2

我正在使用jqgrid-4.5.4。我想申请我的应用程序对jqGrid的主题,因此试图覆盖一些CSS像下面&更多!为什么jqgrid css中有这么多重要的规则?

Original : 
.ui-jqgrid .ui-jqgrid-hdiv { 
    border-left: 0 none !important; 
    border-right: 0 none !important; 
    border-top: 0 none !important; 
    margin:  
    overflow-x: hidden; 
    padding: 0; 
    position: relative; 
} 
My theme : 
.ui-jqgrid .ui-jqgrid-hdiv { 
    border: 1px solid #dedede; 
} 

,因为重要的,在许多地方在ui.jqgrid.css规则我不能不编辑原始jqgrid的css文件。

查询1.为什么css文件包含如此多的重要规则?

查询2.我的想法是将原始文件保持原样,并将重写的css放在单独的文件中,所以当我升级jqgrid时,只会更容易地检查我的主题文件中的更改并更新它,而不是找到旧的和新的jqgrid'css文件之间的区别。 我是这样做还是其他想法?

谢谢。

+0

你好。我认为你可以创建一个其他的CSS,像你一样重写这些值,并在调用jqgrid css之前将该调用放到你的css中。把你的css值放在!也很重要,否则它将被jqgrid覆盖。 但是这样做,很多!重要的是不是很好......只是从jqgrid中删除它们,如果你不想让人难过,但要小心,它可以改变一些东西 编辑:把一个如果可以的话,在jqgrid中提供的路径更长,它总是更好 – SushiiBalboha

+0

感谢您的评论。我还想知道那些重要规则的原因,因此我会知道我是否可以删除它们,或者应该找到一种不同的方式来重写它们,就像你的建议一样。 –

+0

我认为删除这些!重要的东西对你的风格可能是危险的,但是如果他们这样做了,那肯定会删除它们代码中的一些“bug”,或者不要让用户改变它们。只是有一个尝试,改变边界并不是那么危险;-) – SushiiBalboha

回答

1

我重写了我的代码中的几个jQGrid CSS规则。

只需包含您自己的自定义CSS文件AFTER包含jQGrid CSS文件并使用!important

包括例如:

<!-- jQGrid CSS --> 
<link href="Content/ui.jqgrid.css" rel="stylesheet" /> 

<!-- My Custom CSS Included AFTER the jQGrid CSS --> 
<link href="Content/global.css" rel="stylesheet" /> 

而且在我的自定义的CSS文件,我有规则,比如:

.navtable .ui-pg-button .ui-pg-div { 
    margin: 0 8px 0 8px !important; 
} 

这将覆盖jqGrid的默认样式,因为它是在我的自定义CSS文件,包括AFTER jQGrid CSS文件。

+0

感谢您的详细答案,它将为我工作。但是我还是很好奇为什么这些规则必须在ui.jqgrid.css中首先重要:( –

+0

@ code.tweetie我并不是100%确定他们为什么在大多数时候添加了'!important'标志我认为这是为了防止对其他可能使用相同类/ ID的插件造成任何干扰。此外,如果此问题对您有帮助,请[** accept **](http://meta.stackexchange .com/questions/5234/how-does-accepting-an-answer-work):-) – FastTrack

+0

我刚提出并没有接受的原因是因为我的原始问题仍未得到答复。 –

相关问题