【问题标题】:Height relative to screen but fixed相对于屏幕的高度但固定
【发布时间】:2017-09-27 09:35:01
【问题描述】:

我正在尝试将一个固定位置的 div 粘贴到页面底部,它具有屏幕的起始高度 70% ( like vh )。 我会用 jQuery resizable 来调整它的大小。

问题是,如果我应用height: 70vhheight: 70%,当用户调整浏览器高度时,div 会调整大小,我想保持不变。 知道该怎么做吗?

div {
  position: fixed;
  display: block;
  bottom: 0;
  width: 500px;
  height: 70vh;
  background-color: red;
}
<div>
</div>

在整页中查看 sn-p。

【问题讨论】:

  • 那么你的意思是,div 没有被调整大小?因为当我调整浏览器的大小时,它正在调整大小。您能否详细说明预期的内容?
  • 我们只能在jsjQuery 中执行此操作,或者如果您愿意,可以将min-height 设置为固定的px 值。
  • @nabanita 我希望它不会被调整大小。
  • @weber hmm .. 我会用 jquery 来做,但希望有人能提供一个基于 css 的超级想法
  • @AdiPîslaru 让我们看看,但据我所知,没有。 :)

标签: html css resize viewport-units


【解决方案1】:
  1. vh% 将相对于 viewport 的高度或屏幕高度。所以我们需要在 DOM 加载时用 JavaScript 设置 div 的初始高度。

  2. 下一步(调整大小部分)可以使用 CSS resize 属性完成。 **PS:在 div 的右下角可以看到调整大小的图标并进行调整大小。

document.getElementById("demo").style.height = window.innerHeight*.7+"px";
div {
  position: fixed;
  bottom: 0px;
  width: 500px;
  background-color: red;
  resize:vertical;
  overflow:auto;
}
&lt;div id="demo"&gt;&lt;/div&gt;

【讨论】:

    【解决方案2】:

    您可以将 min-height 添加到 div,这样它就不会将自身调整到超出特定高度。

    这样

    div {
      position: fixed;
      display: block;
      bottom: 0;
      width: 500px;
      height: 70vh;
      min-height: 500px;
      background-color: red;
    }
    <div>
    </div>

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-28
      • 2016-01-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多