geo*_*org 28 css responsive-design twitter-bootstrap-3
我正在寻找一种方法来保持屏幕边界内的模态对话框,即它的高度始终小于屏幕高度,并相应地调整宽度.我试过了:
.modal-dialog {
max-height: 100%;
}
Run Code Online (Sandbox Code Playgroud)
但这似乎没有任何影响.
举例说明:
如果它存在,我更喜欢纯CSS解决方案(没有js).为了清楚起见,我正在寻找最大高度,而不是高度(即模态不高于屏幕,保持原样).
Dan*_*eld 56
使用视口单位用calc
.像这样:
.img-responsive {
max-height: calc(100vh - 225px);
}
Run Code Online (Sandbox Code Playgroud)
...其中225px对应于围绕对话框的视口顶部和底部的组合高度.
另外,为了处理模态的宽度,我们需要设置更多属性:
.modal {
text-align:center;
}
.modal-dialog {
display: inline-block;
width: auto;
}
Run Code Online (Sandbox Code Playgroud)
我们可以calc
用填充+负边距技术替换,如下所示:
.img-responsive {
max-height: 100vh;
margin: -113px 0;
padding: 113px 0;
}
Run Code Online (Sandbox Code Playgroud)
PS:浏览器对视口单元的支持非常好
小智 6
目标是modal-body
而不是modal-dialog
。
将以下内容添加到您的 CSS:
max-height: 80vh;
overflow-y: auto;
Run Code Online (Sandbox Code Playgroud)
它应该是这样的:
.modal-body {
max-height: 80vh; overflow-y: auto;
}
Run Code Online (Sandbox Code Playgroud)
根据喜好调整 VH 高度。