【发布时间】:2017-07-31 23:15:00
【问题描述】:
我正在用 HTML 和 CSS 设计一个简单的网站,但卡住了。我希望我的网站在顶部有一张图片。该图像之后的任何内容都应显示在图像下方,而不是在其顶部(就像背景图像一样)。图像应该是视口高度的 0.6(或其他分数)并居中。任何溢出的部分都应该被裁剪。但是,如果图像太窄,则应调整其大小以填充视口的整个宽度。它永远不应该改变它的长宽比。我还想保持我的网站无脚本,并希望在我的源文件中没有绝对值(如px)。
这里有一些涂鸦来解释我的想法:
图像高度设置为 0.6vh。它居中。溢出的区域被裁剪。文本从底部开始。
图像高度将设置为 0.6vh,但不会覆盖整个视口的宽度。相反,设置图像宽度以匹配视口宽度(等于页面宽度),忽略 0.6vh 规则。文本仍然从底部开始。
我已经在互联网上搜索了两天,但我真的找不到我需要的东西。
另外,我正在尝试解决这个问题:目前,我正在使用vh 设置图像的高度,但是在移动浏览器上查看时会变得很奇怪,因为vh 的值会在地址栏折叠。
[编辑]
规则:
- 图像的最小宽度应该是视口的宽度。
- 那么,如果可能的话,它的高度应该匹配 0.6
vh。
[编辑 2]
我注意到,通过使图像居中并保持其纵横比,答案效果很好。但不应垂直裁剪图像。
另一个涂鸦:
我希望这个涂鸦能让我更容易看到我想要实现的目标。红线表示“0.6vh 规则”,而蓝线表示“最小宽度等于视口宽度”规则。绿色矩形显示图像应该在哪里。
[编辑 4]
【问题讨论】:
-
您什么时候想在布局之间来回跳转?这就像移动和桌面的东西吗?你怎么知道什么时候触发不同的外观?
-
这些只是示例。应针对任何视口大小调整图像。
-
不清楚你在问什么。这两种不同的布局,还是在满足某些条件时会变成另一种?第一个示例的宽度应该是多少?如果图像太窄,它如何/为什么会变成整个视口的宽度而不被拉伸?您实际尝试过的代码在哪里?
-
查看编辑。我希望我说清楚了我想要做什么。
-
查看我的更新答案!
标签: html css image responsive-design