【问题标题】:HTML Element with Display:none defaulting width带显示的 HTML 元素:无默认宽度
【发布时间】:2014-06-11 15:36:24
【问题描述】:

在我的 CSS 中,我将 div 设置为 display:none,当页面最初加载时,宽度设置为 100%。但是,在页面加载时,我还使用该容器生成了一个 slickgrid。然后,当我通过 jquery 将 div 设置为 display:block 时,我看到 slickgrid 的宽度不是 100%,而是默认为 100px - 在单步执行 slick 网格代码时,我看到以下代码返回 100,对于我的设置为显示的容器:无

$.css($container[0], "width", true)

有没有什么办法可以绕过似乎是具有 display:none 的元素的默认宽度?我尝试在同一个 CSS 块中设置宽度,但没有成功。

 .data-grid{
        height: 350px;
        display: none;
        width: 100%;
}

TIA

【问题讨论】:

  • 你能创建一个jsfiddle吗?任何为什么宽度为真?通常没有默认宽度,我不知道你从哪里得到宽度 = true
  • 这很奇怪,我有一个网站使用 display: none;宽度:100%;它完美无缺。你确定你没有任何冲突的 CSS 或任何拼写错误吗?我知道这听起来很基本,但我发现自己缺少这些东西。
  • display:none 不应影响width。你在别处有问题。
  • 不幸的是,无法创建 jsFiddle,因为我在工作中访问受限。澄清一下,在我设置 'display:block' 之后,宽度 is 为 100% - 只有 before 然后访问宽度返回 100,而不是 100%。
  • 当我从 CSS 中完全删除 display:none 时,我的 slickgrid 显示正确(具有我期望的宽度),这让我相信这是导致问题的 display:none

标签: javascript jquery html css slickgrid


【解决方案1】:

想通了 - 显然你不能在 display:none 中使用百分比 - 将其更改为固定像素宽度,现在可以使用了

【讨论】:

    【解决方案2】:

    你可以试试 $("elementInQuestion").css("width", "100%");我认为你的“%”在某处被砍掉了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-12-25
      • 2013-12-08
      • 1970-01-01
      • 1970-01-01
      • 2015-11-04
      • 2011-05-29
      • 2023-01-18
      相关资源
      最近更新 更多