【问题标题】:How to make a div fit to screen without the other divs being visible如何在不显示其他 div 的情况下使 div 适合屏幕
【发布时间】:2015-01-29 19:57:42
【问题描述】:

我想要动态显示的 div 之一必须适合屏幕。问题是如果之前显示的 div 的高度大于屏幕高度,当动态 div 显示在页面底部时(滚动后),之前的 div 的某些部分仍然存在。在显示动态 div 时,我不想要任何早期的痕迹。我也只能通过使用 javascript 来实现这一点。

【问题讨论】:

  • 尝试在% 或em 中设置height 和witdh。
  • 我试过了,但是没用。 document.getElementById('pt-main').style.width = "100%"; document.getElementById('pt-main').style.height = "100%"; document.getElementById('pt-main').style.display = "none";
  • 你能在 jsfiddle 中显示你的代码吗?

标签: javascript jquery html


【解决方案1】:

将一个 div 或任何元素放在另一个上面使用 position:absolute,top:0; left:0 和 width 和 height 为 100%

【讨论】:

  • 我之前的 div 是主 div,宽度和高度可以超过 100%。所以我不能这样做。
  • parentDiv - 应该是相对于屏幕宽度的位置宽度和高度 innerDiv - 绝对位置和宽度,高度到 100% 根据用户点击切换 innerDiv
【解决方案2】:

将 div 从其他 div 中取出,但仍在正文中,使其不可见 "display:none;"

给它一些属性,就像 Mardzis 说的,height : 100%;宽度:100%; z-index:9999;

然后,当您想显示它时,只需执行 .show() 或 .hide() (如果使用 jquery,则使用它)或 .getElementById('#yourDivId').style.display = "none"; ....等等...

【讨论】:

  • 不要用js设置宽高... 而且,正如@veerasuthan V 所说,您可以将其放置在 position:absolute;top:0;left:0; (仍然在 style 属性中)。然后玩 jquery .hide() / .show()... 应该像这样工作
  • 不,我不能使用 html。我的架构的局限性。
  • @Query21 你知道“最大的 div”id 吗?还是动态的?
  • 没有最大的 div 是在 html 中创建的,id 为 pt-main。
  • 谢谢。尽管这会将测试 div 的大小调整为父 div 的大小。我想动态调整父 div 的大小是不可能的。
【解决方案3】:

我找到了解决方法。将焦点放在子 div 上并禁用滚动。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-03-18
    • 2022-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-14
    相关资源
    最近更新 更多