如上图所示,这个页面有头部和底部悬浮(无滚动条),而图片不论宽高大小(图片和页面尺寸不固定)只显示在蓝色区域内(区域不固定),上下左右空出一定的距离(上下和左右空出的距离不需要对称,上下左右只要居中就行,但不要被头部和底部的悬浮盖住),请问用JS该怎么做呢?
如上图所示,这个页面有头部和底部悬浮(无滚动条),而图片不论宽高大小(图片和页面尺寸不固定)只显示在蓝色区域内(区域不固定),上下左右空出一定的距离(上下和左右空出的距离不需要对称,上下左右只要居中就行,但不要被头部和底部的悬浮盖住),请问用JS该怎么做呢?
只能用css
.blue img{
max-width:calc(100vw - 左侧宽度 - 右侧宽度);
max-height:calc(100vh - 顶部悬浮高度 - 底部悬浮高度 - 上面灰色高度 - 下面灰色高度)
}
.img-container
height 100%
padding $vertical-padding $horizontal-padding
img
width 100%
height 100%
object-fit cover
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
我以前的做过的项目基本都是用css3提供的calc方法实现的,使用特别简单。
如果你非要用js去实现的话也不是很难,比如这样的写法。
当窗口的大小变化时候,再次计算大小。
还见到有人用canvas加载图片的,你的这个简单不需要。