html - 当 div 调整大小时将高度缩放为宽度

标签 html css

我有一个带有背景图片的 div,我想根据屏幕宽度进行缩放。我只对窄屏幕宽度的这种效果感兴趣,所以我使用媒体查询:

.the_image{
    margin:50px auto;
    background-image:url('myimage.png');
    background-color:red; /* This is to see the effect */
    background-position:top right;
    background-repeat:no-repeat;
    width:608px;
    height:314px;
}


@media (max-width: 708px){
    .the_image{
        width:86%;
        margin:50px 7%;
        background-size: contain;
    }

}

这对于缩放图像非常有用,除了无论屏幕宽度如何,高度都保持在 314 像素不变。我该怎么做才能使高度适当缩放(即,没有红色向外窥视!)

编辑: 这是一个 jsfiddle 链接:http://jsfiddle.net/mqs9qzvf/ .没有图片,但您可以看到当“屏幕”(在本例中为查看 Pane )宽度低于 708 像素时,div 高度没有改变。

最佳答案

如果不使用 JQuery,这是一件非常棘手的事情。如果您有一个 square div 或一个具有确定比例(如 16:9 左右)的矩形,这将很容易做到。有一种方法可以做到这一点,它要求您知道与 width 相比,height 的准确 %

我在这里为它做了一个 fiddle :http://jsfiddle.net/3oas7xnp/

这仅适用于大小为 608x314 的矩形。如您所见,padding-bottom 扩展了容器 divheight。要得出要在此处使用的 % 数字,您需要这样计算:

  1. %宽度高度。在这种情况下,314 是 608 的百分比。

    314/608 = 51.64

  2. 宽度 的 51.64% 是多少。在本例中,宽度为 86%。

    0.5164 * 86 = 44.4104%

如您所见,此方法确实有效,但只是一种变通方法。如果碰巧所有这些 div 都具有相同的大小,请随意使用此方法。

关于html - 当 div 调整大小时将高度缩放为宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27788525/

相关文章:

java - 如何在 Android 中从字符串替换 <img> 标签的 src 属性

javascript - 使用javascript访问具有相同名称的2个提交按钮的值

html - 如何使用包含页眉和页脚的自动页面格式将 HTML 页面导出为 PDF 格式

html - 如何让导航栏(可能还有其他东西)在右边结束

jquery - 单击屏幕内其他任何位置时,使引导下拉箭头更改方向

html - 用于测试 CSS 的综合 HTML 页面?

HTML 链接到 CSS

javascript - 使用 display 属性操作元素

javascript - 作为里程碑的进度条

javascript - CSS 停止下拉选项改变大小?