【发布时间】:2012-04-27 20:21:22
【问题描述】:
我正在努力弄清楚如何更改 Ext JS 网格(或任何 Ext JS 小部件)的宽度和高度。它们似乎总是保持在固定的高度和宽度。有没有人这样做过?我只是想获得一个概念证明,用于针对其他 JavaScript UI 框架评估这个框架。
这是我现在正在玩的例子:
http://dev.sencha.com/deploy/ext-4.1.0-gpl/examples/grid/cell-editing.html
组成网格有不同的 div HTML 标签,但不幸的是,列和数据是通过 JavaScript 动态构建的,您无法通过查看 HTML 源代码看到标记。下面的 div HTML 标签是围绕网格列和数据的 4 个组件。我可以在 Firebug 和 Google Chrome 开发人员工具中更改样式,但不能在实际的 CSS 中更改。
构成 Ext JS 网格的 DIV HTML 标记:
gridpanel-1010_header
toolbar-1018
headercontainer-1011
gridpanel-1010-body
以下是“cell-editing.html”示例中使用的样式。我猜它一定在这儿的某个地方。
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Cell Editing Grid Example</title>
<link rel="stylesheet" type="text/css" href="../../resources/css/ext-all.css" />
<link rel="stylesheet" type="text/css" href="../shared/example.css" />
<link rel="stylesheet" type="text/css" href="../ux/css/CheckHeader.css" />
<script type="text/javascript" src="../../bootstrap.js"></script>
<script type="text/javascript" src="cell-editing-keith.js"></script>
</head>
<body>
<div id="editor-grid"></div>
</body>
</html>
【问题讨论】:
-
您到底想达到什么目的?您的 ExtJs 应用程序是否占用整个页面?
-
是的。我希望网格占据显示它的设备的整个宽度(如果可能,还有高度)。无论是浏览器、平板电脑还是手机。网格将显示许多列,因此越宽越好。
-
Ext JS 小部件的默认宽度似乎约为 600 像素
-
一个 em 不是父级的大小。它与文档的默认字体大小有关,每个 em 是字母 m 的宽度。如果你想在ems中设置,你可以调用
Ext.create('Ext.panel.Panel', {width: '20em'})