1

我坚持覆盖struts2-jquery-plugin网格的默认样式表。我尝试定义自己的样式表 ( jquery-ui-grid.css) 并将其包含在我的 JSP 页面中,但框架总是ui.jqgrid.css最后下载默认 CSS () 并覆盖我自己的样式。

我已经使用 Chrome 开发者工具来观察网络请求,所以我可以验证默认 CSS 和我的自定义 CSS 都在下载,但只应用了默认 CSS(我猜是因为它是最后下载的)。由于此默认CSS 是由 Struts 2 框架生成的,因此我不知道如何修改/覆盖它,因为我不知道该文件的路径。

我目前正在使用 Maven 来管理我的依赖项,struts2-jquery-plugin 并且struts2-jqgrid-pluginMaven 中包含了 和 。

我正在尝试更改网格的字体大小,此时我有点绝望......

如何覆盖/修改插件用于设置网格样式的默认 CSS 文件?我不想更改应用于 HTML 表的样式,我正在寻找一种允许我专门修改jqGrid相关 CSS 类的解决方案。

编辑:

正如在这个问题jquery-ui中提到的,我在那些之后(在<head /> 标签内)包含了我的 CSS :

<head>
...
<s:head />
<sj:head jqueryui="true" jquerytheme="south-street" loadAtOnce="true"  loadFromGoogle="false" locale="es"/>
<link href="<s:url value='/styles/main.css'/>" rel="stylesheet" type="text/css" media="all" /> 
...
</head>

在我的内部,main.css所有的 CSS 导入:

/*
   Css Framework 
   =============
     - see http://www.contentwithstyle.co.uk/Articles/17/a-css-framework
       for more info.
*/
@import url("tools.css");
@import url("typo.css");
@import url("forms.css");
@import url("layout.css");
/* This is my "custom" jqGrid stylesheet: */
@import url("ui.jqgrid.css");
@import url("dl-forms.css");

进展更新:

我仍然无法按照我的意愿覆盖,所以现在我不得不停止使用jquery-ui从互联网上提供的主题(我更喜欢这种方式,所以我可以随时更新它,因为不需要专业为我的 web 应用程序调整 jQuery UI CSS)。
我下载了我正在使用的主题并将其放入我的 webapp ( template/themes/myTheme-name/) 中,因此我可以强制框架使用该显式主题而不是下载它,这确实有效,我现在可以为 jqGrid 修改我的自定义CSS。但我觉得这只是一种解决方法,我想知道如何以干净的方式做到这一点。

4

1 回答 1

0

这些是创建/修改自定义主题的步骤:

使用jQuery ThemeRoller创建和下载您自己的主题

  1. WebRoot在您的路径中创建一个文件夹template/themes/mytheme
  2. 提取下载的主题并切换到css文件夹
  3. 重命名jquery-ui-x.x.x.custom.cssjquery-ui.css
  4. 复制jquery-ui.css和图像文件夹到template/themes/mytheme文件夹中。

<%@ taglib prefix="s" uri="/struts-tags"%> 
<%@ taglib prefix="sj" uri="/struts-jquery-tags"%> 
<html>   
   <head>
    <s:url var="context" value="/" />
    <sj:head locale="de" jqueryui="true" jquerytheme="mytheme" customBasepath="%{context}template/themes"/>   
   </head>
   <body>  
   </body> 
</html>

您还可以使用scriptPath可以放置 JS 代码的属性。与使用 CSS 的方式相同,但复制到js文件夹中。

于 2015-08-22T11:11:06.660 回答