我正在使用dojo 1.8,并且不希望在bordercontainer / contentpane布局中添加任何填充。问题是,似乎当我添加claro css文件时,而不仅仅是应用类样式,div我用于我的内容窗格获取内联应用的样式。这似乎是以编程方式完成的,但只有在我添加css文件时才会这样做。
例如,我用作标题的contentpane如下所示:
<div data-dojo-props="region: 'top'"
data-dojo-type="dijit/layout/ContentPane"
id="header"
class="dijitContentPane dijitBorderContainer-child
dijitBorderContainer-dijitContentPane
dijitBorderContainerPane dijitAlignTop"
title="" role="group" widgetid="header"
style="left: 5px; top: 5px; position: absolute; width: 1387px;">
它添加了style =“left:5px; top:5px ....”我非常肯定会让我无法用css覆盖任何类型的填充或边距设置。我想通过使用像这样的绝对位置来使我的内容窗格没有任何填充或“虚拟”填充。我怎么还能使用claro但是防止这种行为?
答案 0 :(得分:2)
5px是因为你在BorderContainer
上将排水沟设置为真。
将gutters: false
添加到BorderContainer
的属性。
答案 1 :(得分:1)
dijit.layout小部件在渲染时会执行resize
,计算它必须使用的空间,并根据它的布局变量设置自己(在你的情况下为BorderLayout子节点,这是指作为'嵌套容器')。因此,内联样式以编程方式完成。
您的问题很可能是,您自己应用的CSS比claro.css的样式更低'重量'。
检查this link: specificity。这是一个术语,涵盖了哪个选择器最高。 css规则越具体,优先级越高。
所以你需要“赢得”这样的上课规则:
.claro .dijitContentPane {}
要实现它,请添加#id选择器 - 或nodetype-selector或类似选项。你也可以为一个本地化的规则添加一个前缀,例如'body'为general或'#innerContentsWrapper'
.dijitContentPane { /* lowest weight */}
.claro .dijitContentPane { /* third highest weight */ }
.claro div.dijitContentPane { /* second highest weight */ }
body .claro div.dijitContentPane { /* the highest weight */ }
答案 2 :(得分:0)
另一件可行的方法是在div上设置以下属性:Sub WorksheetEraseOld()
Dim ShtNames() As String
Dim SaveSheet As String
ReDim ShtNames(1 To ActiveWorkbook.Sheets.count)
For i = 1 To Sheets.count
ShtNames(i) = Sheets(i).Name
Next i
ReDim Preserve ShtNames(1 To ActiveWorkbook.Sheets.count)
For J = 1 To Sheets.count
If J = Sheets.count Then Exit For
Range("A1").Value = Val(Left(ShtNames(J), 4))
Range("B1").Value = Val(Left(ShtNames(J + 1), 4))
MsgBox ("Content of SaveSheet is " & SaveSheet)
SaveSheet = ShtNames(J)
If Val(Left(SaveSheet, 4)) < Val(Left(ShtNames(J + 1), 4)) Then SaveSheet = ShtNames(J + 1)
Next J
End Sub