gpt4 book ai didi

css - 覆盖 Struts 2 jqGrid CSS

转载 作者:行者123 更新时间:2023-11-28 07:19:52 26 4
gpt4 key购买 nike

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

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

我目前正在使用 Maven 来管理我的依赖项和 struts2-jquery-pluginstruts2-jqgrid-plugin正在从 Maven 中包含。

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

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

编辑:

this question 中所述,我在 jquery-ui 之后包含了我的 CSS那些(在 <head /> 标签内):

<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从互联网提供的主题(我更喜欢这种方式,这样我就可以随时更新它,因为不需要对我的网络应用程序的 jQuery UI CSS 进行重大调整)。
我下载了我正在使用的主题并将其放入我的 webapp ( template/themes/myTheme-name/ ),这样我就可以强制框架使用该显式主题而不是下载它,这确实有效,我现在可以修改我的自定义 jqGrid 的 CSS。但我觉得这只是一种解决方法,我想知道如何以干净的方式做到这一点。

最佳答案

这些是创建/修改 custom theme 的步骤:

Create and Download your own Theme with jQuery ThemeRoller

  1. Create a folder in your WebRoot path template/themes/mytheme
  2. Extract downloaded theme and switch into the css folder
  3. Rename jquery-ui-x.x.x.custom.css to jquery-ui.css
  4. Copy jquery-ui.css and images folder into the template/themes/mytheme folder.

<%@ 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 文件夹中。

关于css - 覆盖 Struts 2 jqGrid CSS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32135534/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com