Dojo 禁用BorderContainer上的排水沟时v1.8和1.10之间的差异

Dojo 禁用BorderContainer上的排水沟时v1.8和1.10之间的差异,dojo,dijit.layout,Dojo,Dijit.layout,我最近从1.8改为1.10 在声明式创建中设置gutters=“false”或datadojoprops=“gutters:false”时,它不会隐藏檐槽 当我将bordercontainer源中的檐槽属性设置为false时,它仍然显示檐槽 所有dojo示例都引用了gutters=true,所有google结果都引用了旧版本 编辑: 在1.8设置'gutters=false'中,还删除了客户端边框和边框容器周围的填充。在1.10中,它只删除客户端之间的“间隙”。是否有一个设置可以获得相同的结果,

我最近从1.8改为1.10

在声明式创建中设置
gutters=“false”
datadojoprops=“gutters:false”
时,它不会隐藏檐槽

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

所有dojo示例都引用了
gutters=true
,所有google结果都引用了旧版本

编辑:


  • 在1.8设置'gutters=false'中,还删除了客户端边框和边框容器周围的填充。
  • 在1.10中,它只删除客户端之间的“间隙”。是否有一个设置可以获得相同的结果,或者我应该使用css/样式吗?
以下是dojo 1.10版的文档:

如果为false,则只有可调整大小的窗格才具有用于调整大小的檐槽(即可拖动拆分器)。您的窗格是否可调整大小(
拆分器:true

我建议下载dojo 1.10的源代码zip,解压缩到tomcat这样的Web服务器上,并尝试使用/dijit/tests/layout/test\u BorderContainer.html


您可以在这里实时访问它:

您实际上依赖于一个bug。即使使用
檐槽:false
,视觉元素仍应可见。这个错误最近已经被修复,正如您在票证和账单中看到的那样

发生的情况是,禁用排水沟时,正在重写BorderContainer的基类。因为基类被修改了,CSS不再应用,所以视觉元素被删除了(这是您所期望的)

通过禁用拆分器,您将不再获得边沟,如本演示中所示:。但是,BorderContainer周围的边界仍然存在,这是有意义的(毕竟它是一个BorderContainer)


但是,如果您对这种(错误)行为感兴趣,您可以通过向您的BorderContainer添加
class=“noBorder”
属性并添加以下CSS来应用它:

.noBorder.dijitBorderContainer.dijitBorderContainer子级{
边界:无;
填充:0;
}

结果将与以前类似,正如您在本演示中所看到的:

我刚刚花了一个上午处理同一个问题。如果您想要与以前相同的行为,在1.10中,您希望使用dijit.layout.LayoutContainer而不是BorderContainer。清除排水沟=错误。LayoutContainer基本上看起来是一个没有边框的BorderContainer。

我接受了这一点,因为它包含一个指向测试用例的链接。不幸的是,根据我的测试,1.10不能产生与1.8相同的结果。所以这不是我想要的答案。如果您的子窗格可以调整大小(拆分器:true),即使您将其设置为false,也会显示边沟。最好将您的代码与测试html进行比较,因为它涵盖了所有场景。我的窗格无法调整大小。正如您在演示中看到的,边框和内容之间有一个间隙,所有窗格周围都有一个边框。在1.8中,当我设置排水沟时:false,这些视觉元素也会被删除。我经常使用没有拆分器的borderconatiner,只是为了让一个区域占据所有剩余的位置。在这种情况下,令人不安的是,您的解决方案仍然无法删除容器中的“填充”。有没有办法删除此项?您也可以在CSS中设置
填充:0
。我会更新我的答案。没有拆分器:(在不需要拆分器的地方替换BoredContainers可能是个好主意