如何将max-height css属性指定为Screen size

But*_*ala 14 html javascript css

我正在尝试以下样式:

.scrollDiv {
    height:auto;
    max-height:100%;
    overflow:auto;   
}
Run Code Online (Sandbox Code Playgroud)

我的要求是:

  1. max-height div等于屏幕高度
  2. 如果div中的内容超出屏幕大小,则滚动条应以div为单位.

Joh*_*Rix 49

使用CSS视口单元.

例:

.scrollDiv {
    max-height: 100vh;
    overflow: auto;
}
Run Code Online (Sandbox Code Playgroud)

更多信息:https://www.w3schools.com/cssref/css_units.asp

  • 很想知道这是如何获得downvote的. (2认同)
  • 这个答案太棒了,谢谢!@user234461 可能是对的,人们真的不喜欢 w3schools。 (2认同)

Jam*_*mes 15

您可以使用$(window).height()将最大高度设置为屏幕高度:

$('.scrollDiv').css('max-height', $(window).height());
Run Code Online (Sandbox Code Playgroud)

UPDATE

正如约翰的回答中提到的那样.使用最新的CSS3 API,您可以使用vh(查看端口单位的高度)

.scrollDiv {
    max-height: 100vh;
    overflow: auto;
}
Run Code Online (Sandbox Code Playgroud)


Adi*_*she 9

滚动条仅在内容出现时出现overflown.

如果max-height您的内部div等于其容器的高度,则滚动条将永远不会出现.如果你想看滚动条使用这个.

.scrollDiv {
    height:auto;
    max-height:150%;
    overflow:auto;   
}
Run Code Online (Sandbox Code Playgroud)