小编mms*_*eng的帖子

在 PowerShell 中,为什么 $null -lt 0 = $true?那可靠吗?

考虑以下 PowerShell 代码:

> $null -gt 0
False
> $null -ge 0
False
> $null -eq 0
False
> $null -le 0
True
> $null -lt 0
True
Run Code Online (Sandbox Code Playgroud)

当然,对于显式设置为$null或不存在变量的 $variable 也是如此。

  1. 这是为什么?这对我来说没有多大意义。我觉得 $null 根据定义没有可以这样测试的值,或者至少,它在这样的测试中评估为零。但除此之外,我想我不知道我实际上会期望什么行为。谷歌搜索(或搜索 SO)例如“为什么在 Powershell 中 null 小于零”似乎没有产生任何结果,尽管我确实看到了其他几种语言的相关问题和答案。
  2. 可以而且应该依赖这个结果吗?
  3. 除了使用 GetType() 或“IsNumeric”、“IsNullOrEmpty”等的各种实现测试变量之外,可靠地测试整数值(或其他类型)在一个可能具有值的变量中$null?或者这些方法之一被认为是非常标准的?

谢谢你的时间。如果这个问题对这个场地来说太“模糊”,请提前道歉。

PS我通常的环境是PowerShell v5.1。

powershell null

6
推荐指数
1
解决办法
221
查看次数

保持绝对定位,可折叠 div 位于右下角,避免滚动页面

好吧,这很难解释。我有一个带有两个可折叠菜单的页面。其中一个绝对位于左上角。当我折叠它时,剩余的内容都被压缩到左上角,正如预期的那样。

另一个菜单绝对位于右下角。当它展开时(加载页面时的默认状态),它位于右下角,距离底部和右侧 5 个像素,如预期的那样。然而,当我折叠它时,突然剩余的内容从距底部和右侧 5 个像素的地方开始,然后从页面向右和向下流动,扩展页面并导致滚动条。

所需的行为是将剩余内容压缩到页面的右下角,而不更改页面尺寸。

发布我的代码会很棘手,因为其中很多代码是通过 JavaScript 动态生成的。

每个菜单由容器 div 内的两个子 div 组成。容器 div 是绝对定位的(左上角或右下角,取决于哪个菜单)。第一个子 div 是活动菜单选项卡的内容,向左浮动,顶部边距刚好足够高,可以将其放在菜单选项卡下方。第二个子 div 是菜单选项卡。该 div 是绝对定位的(以便让内容 div 在其后面流动)。选项卡 div 内的每个选项卡都向左浮动,因此我可以动态添加更多选项卡。

其中一个选项卡始终是“隐藏/显示”选项卡,基本上只是在菜单的内容 div 上切换显示:隐藏。

因此,据我了解,浮动内容 div 以某种方式阻止菜单从页面流出,并且当它“折叠”(即隐藏)时,没有任何东西可以阻止绝对定位的选项卡 div 从页面流出。

我想我会尝试将有问题的 div 和 css 代码删除到它自己的页面中,这样我就可以隔离行为,并发布一些连贯的代码。同时,任何建议都是非常受欢迎的。

谢谢!== 马特

PS 通常情况下,我会将菜单中的所有内容相对定位。我在浮动内容 div 顶部使用绝对定位的 div 的原因是这样我可以控制活动选项卡的底部是否看起来“连接”到内容 div。如果我有两个相对的 div,并且只是将选项卡 div 放在内容 div 的顶部,则我无法在正确的位置删除内容 div 的黑色顶部边框,使其看起来像是活动选项卡已连接到它。如果有人能想出一种方法来解决这个问题,同时仍然保持两个 div 的相对性,我也会对此感到失望。

我没有发布图片的代表,所以这里有一些链接:

这是菜单展开后的样子: http ://theroach.net/igp_menutest/css_menus1.png

它们在这里折叠起来: http://theroach.net/igp_menutest/css_menus2.png

这就是我想要的: http://theroach.net/igp_menutest/css_menus3.png

更新:我已经尽可能地从 JavaScript 中删除了菜单代码。这是带有工作代码的JSFiddle 。由于某种原因,onclick 事件在 JSFiddle 中不起作用,但它与我的测试页中的代码完全相同,因此如果您无法让它在 JSFiddle 中工作,请尝试此链接以查看行为。仅供参考,JavaScript …

html css layout css-float

1
推荐指数
1
解决办法
2793
查看次数

标签 统计

css ×1

css-float ×1

html ×1

layout ×1

null ×1

powershell ×1