有很多方法可以解决这个问题。如何确认所描述的here 工作方式,但它使其他文本具有您不想要的11px 字体。
字体的问题在于 CSS 设置(见here)
.ui-widget .ui-widget { font-size: 1em; }
因为 Tab 和 jqGrid 都有 "ui-widget" 类,所以设置会覆盖 jqGrid.css 中的字体设置(参见 here):
.ui-jqgrid {position: relative; font-size:11px;}
结果你得到了the demo上的图片:
jQuery UI 使用em 样式。例如,您可以在页面的 CSS 中包含以下内容
html, body { font-size: 75% }
(请参阅here)。在这种情况下,您将得到以下结果(请参阅the demo):
顺便说一下 jqGrid 的文档间接建议(参见 HTML 页面示例here)。我了解您可能不希望更改页面上其他字体的大小。
如果你可以使用例子
.ui-jqgrid { font-size: 11px !important; }
或者以下
.ui-jqgrid .ui-jqgrid-view { font-size: 11px; }
.ui-jqgrid .ui-jqgrid-pager { font-size: 11px; }
.ui-jqgrid .loading { font-size: 11px; }
您可以在the next demo 上看到该方法的结果:
如果我理解你是正确的,这就是你想要的结果。
更新:如果您使用 Chrome 的开发者工具,您可以看到与在 IE 开发者工具中相同的信息来定位覆盖 jqGrid 的font-size 的 CSS 样式。例如在my first demo 你会看到
因此,如果在您的应用程序中我的上述建议不起作用,您应该检查应用于任何网格单元格的有效 CSS 样式并找出哪个 CSS 设置覆盖了 jqGrid 的 CSS。
更新 2:从您通过电子邮件发送给我的链接中,我可以看出问题存在,因为您忘记在 <html> 之前包含任何 <!DOCTYPE html ...> 声明。因此,Web 浏览器将您的页面解释为在 HTML 3.2 发布之前(1997 年之前)编写的非常老式的 HTML。它就是这样命名的Quirks mode。
要解决问题,您应该在<html> 之前添加类似的行
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
或者只是
<!DOCTYPE html>
(HTML5 标准)。此外,我强烈建议您在一些 HTML valirador 中验证您的 HTML 页面,例如 http://validator.w3.org/。您当前的代码是 HTML 和 XHTML 之间的混合,这不好。
更新 2:我另外发布了the feature request,我建议在document.documentMode <= 5 的情况下停止创建jqGrid,所以在使用Quirks mode 的情况下(没有<!DOCTYPE html ...>)。
更新 3:根据问题/答案,我向 trirand 发布了两条建议:this 和 this。这两个建议都被接受并且现在是 jqGrid 的一部分(参见here 和here)。所以下个版本的用户应该不会有上述问题。