v1.8和1.10在BorderContainer上禁用槽时的差异

  • 本文关键字:BorderContainer v1 dojo dijit.layout
  • 更新时间 :
  • 英文 :


我最近把1.8改成了1.10。

当在声明式创建中设置gutters="false"data-dojo-props="gutters:false"时,它不会隐藏排水沟。

当我将bordercontainer源中的水槽属性设置为false时,它仍然显示水槽。

所有dojo示例都是指gutters=true,所有google结果都是指旧版本。

编辑:

  • 在1.8设置'水沟=false '也删除了客户端边框和填充周围的bordercontainer。
  • 在1.10中,它只是消除了客户端之间的"差距"。是否有一个设置,以获得相同的结果,或者我应该hack与css/样式?

你实际上是在依赖一个bug。即使使用gutters: false,视觉元素仍然应该是可见的。这个bug最近已经修复了,你可以在ticket #17966和Bill的提交中看到。

发生的事情是当禁用水沟时,BorderContainer的baseClass被重写了。因为baseClass被改变了,CSS不再适用,所以视觉元素被删除了(这是您所期望的)。

通过禁用分隔符,您将不再获得排水沟,正如您在下面的演示中看到的那样:http://jsfiddle.net/HT3PJ/。但是,BorderContainer周围的边界仍然存在,这是有意义的(毕竟它是一个BorderContainer)。


然而,如果你对这个(有bug的)行为感兴趣,你总是可以通过给你的BorderContainer添加一个class="noBorder"属性并添加以下CSS来自己应用它:

.noBorder.dijitBorderContainer .dijitBorderContainer-child {
    border: none;
    padding: 0;
}

结果将与之前的结果相似,正如您在这个演示中看到的那样:http://jsfiddle.net/w9ACq/1/

以下是dojo v1.10的文档:

  • http://dojotoolkit.org/reference-guide/1.10/dijit/layout/BorderContainer.html
  • http://dojotoolkit.org/api/?qs=1.10/dijit/layout/BorderContainer

当为false时,只有可调整大小的窗格具有用于调整大小的gutter(即可拖动的分割器)。你的是一个可调整大小的窗格(splitter:true)吗?

我建议下载dojo 1.10的源代码压缩包,解压缩到tomcat这样的web服务器上,并尝试使用/dijit/tests/layout/test_BorderContainer.html

您可以在这里访问:http://archive.dojotoolkit.org/nightly/dojotoolkit/dijit/tests/layout/test_BorderContainer.html

我刚刚花了一个上午的时间在同一个问题上。如果你想要和以前一样的行为,在1.10中你想使用dijit.layout.LayoutContainer而不是BorderContainer。清除排水沟=错误。LayoutContainer基本上就是一个没有边框的BorderContainer

最新更新