我正在寻找一种在屏幕范围内保持模态对话框的方式,即其高度总是小于屏幕高度,并且相应地调整宽度。我试过了:
.modal-dialog { max-height: 100%; }
但这似乎没有任何效果。
插图:
如果存在,我更喜欢纯CSS解决方案(无js)。为了清楚起见,我正在寻找最大高度,而不是高度(即,模态不比屏幕高,离开它)。
解决方法
使用
viewport units与calc。喜欢这个:
.img-responsive { max-height: calc(100vh - 225px); }
…其中225px对应于对话框顶部和底部的高度。
另外,为了照顾模态的宽度,我们需要再设置一些属性:
.modal { text-align:center; } .modal-dialog { display: inline-block; width: auto; }
Updated Fiddle(调整视口高度的大小来看效果)
或者:
我们可以用填充负边距技术代替calc,如:
.img-responsive { max-height: 100vh; margin: -113px 0; padding: 113px 0; }