【发布时间】:2016-12-30 20:27:26
【问题描述】:
我正在制作全屏背景幻灯片。
我的问题是:如何设置图像以占据全屏并保持纵横比?
Min-height 和 min-width 有效,但当两者都设置时不要保持纵横比。我想裁剪图像并覆盖整个容器。
我相信我需要固定一个维度,而另一个要自动;考虑到图像尺寸和视口尺寸是可变的,我想我至少需要 2 套 CSS 规则和 javascript 来计算应该使用哪一个。有没有更简单的方法来做到这一点?
我已经绘制了一个图表来说明我的问题。深色是原始图像。中间颜色是所需的效果。较浅的颜色是放大图像所需的溢出。
我正在制作 Ken-Burns 效果全屏背景。我知道我必须担心过渡,但我希望我能在之后处理这个问题。
Ken Burns 效果教程:
http://cssmojo.com/ken-burns-effect/
已解决:感谢 Maju 向我介绍背景封面。将图像更改为 div 并将 Ken Burns 代码中的 javascript + css 从图像更改为 div 效果很好。脚本更改了元素类,所以你必须以其他方式使用 Maju 的 CSS 或更改脚本。
【问题讨论】:
-
使用
min-height和min-width应该实际上保持比率,你确定你没有定义width或height吗? -
@Simon 你是对的。原来我确实将高度也设置为自动。当我删除它时,它看起来在窗口分辨率高时保持比例,但是当我把它变窄时,一些图像仍然垂直拉伸。我会继续测试这个。
-
jsfiddle.net/464dewrz/1 看起来使用 min-height 和 min-width 确实可以保持比例。我不确定 CSS 与它有什么冲突。
标签: javascript html css fullscreen aspect-ratio