【发布时间】:2016-09-03 07:44:27
【问题描述】:
有没有办法在没有 JavaScript 的情况下仅在 CSS 中实现这一点?
我想要一个满足以下要求的 div:
- 它始终保持给定的纵横比(例如 4:3)
- 它的宽度永远不会超过以 px 为单位的给定固定最大值,例如800 像素
- 它的高度永远不会超过给定的固定最大值,例如600像素
- 它的尺寸永远不会超过视口的尺寸
- 考虑到上述限制,它可以达到最大程度
- 垂直和水平居中
换句话说,它应该填充视口的宽度或高度,以更受限制的为准,同时保持给定的纵横比;除非这超过了固定的最大宽度和/或高度,在这种情况下它将受到限制。
我不在乎需要多少个包装器。
我知道this answer 提供了由父级宽度约束的固定纵横比的解决方案,并且很容易添加一个带有附加包装器的固定最大宽度约束;但我似乎看不到一种方法来调整它以添加高度限制。
【问题讨论】:
-
附上预期结果的图纸可能会有所帮助
-
@Fez Vrasta 认真的吗?我认为要求列表非常清晰且完全不含糊。
-
我认为您可以根据答案的数量自行判断。如果你想要一个好的答案,你需要问一个好问题。
-
那么,如果一个问题特别难,或者如果实际答案是“你不能那样做”(这里可能就是这种情况),这是否意味着这是一个“不好”的问题?
-
真的,你可以随心所欲,我的只是一个建议。随意忽略它。