Css 自动调整web应用程序的高度和宽度

Css 自动调整web应用程序的高度和宽度,css,aspect-ratio,jsfiddle,Css,Aspect Ratio,Jsfiddle,我正在开发一个web应用程序,我想自动调整填充有背景图像的三列div的大小,以便在我使用ctrl-和+进行放大或缩小时填充整个页面。下面是我为实现此效果而编写的内容,但失败了: HTML: JS: 这个链接可能有助于解决问题,但并没有产生确切的效果 我想知道是否有人能帮我做这个可变宽度使用%age。对于固定使用的像素。还有什么你不明白的。如果您需要调整背景图片的大小,您必须为此编写js。我认为这是解决您问题的方法: CSS HTML 这真是一个很好的答案,非常有效,非常感谢,但我有一个小问题,

我正在开发一个web应用程序,我想自动调整填充有背景图像的三列div的大小,以便在我使用ctrl-和+进行放大或缩小时填充整个页面。下面是我为实现此效果而编写的内容,但失败了:

HTML:

JS:

这个链接可能有助于解决问题,但并没有产生确切的效果


我想知道是否有人能帮我做这个

可变宽度使用%age。对于固定使用的像素。还有什么你不明白的。如果您需要调整背景图片的大小,您必须为此编写js。

我认为这是解决您问题的方法:

CSS

HTML


这真是一个很好的答案,非常有效,非常感谢,但我有一个小问题,如果我想在背景中放置一个图像url而不是bg颜色,该怎么办?我试过了,但它并没有填满整个div的高度,你知道怎么做吗?我在修复背景的解决方案中工作过,但它不是很稳定[在检测背景大小的不同浏览器中也存在差异。如果没有指定“background size”属性,也会出现问题]。如果页面在加载时被缩放,则上面的脚本也将不起作用,因此它仅在您以100%缩放打开网页时才起作用。也许更好的方法是检测缩放级别…但看看这有多混乱:这只是有助于获得缩放级别,但实际上我试图查看代码,以便能够设置缩放级别,但我认为这是不可能的,你知道如何做到这一点吗?我还发现了这个插件,我认为它会有很大帮助,但不会最大限度地放大:你不能设置缩放级别。您只需检查它并设置特定元素的特定大小,其大小取决于此缩放级别。当我需要使列从顶部开始,边距为100px时,您的脚本中会发生一件奇怪的事情。例如,脚本无效,然后:s
<div id="three_columns_container">
     <div id="first-column">...</div>
     <div id="second-column">...</div>
     <div id="third-column">...</div>
</div>
#first-column{
    background:('slice.png');
    width: 15%;
    height: 97%;
}
#second-column{
    background:('slice.png');
    width: 15%;
    height: 97%;
}
#third-column{
    background:('slice.png');
    width: 70%;
    height: 97%;
}
 $(window).resize(function(){
      $("#three_columns_container").height() = $(window).height * 0.97;
      $("#three_columns_container").width() = $(window).width* 0.97;
    });
#firstColumn {
    width: 15%;
    height: 150px;
    background: #1e3340;
    float: left;
}
#secondColumn {
    width: 70%;
    height: 150px;
    background: #305a5e;
    float: left;    
}
#thirdColumn {
    width: 15%;
    height: 150px;
    background: #323e45;
    float: left;    
}
<div id="three_columns_container">
     <div id="firstColumn">...</div>
     <div id="secondColumn">...</div>
     <div id="thirdColumn">...</div>
</div>
$(document).ready(function () {
    var divRatio = {};
    setRatio('firstColumn');
    setRatio('secondColumn');
    setRatio('thirdColumn');
    $(window).resize(function () {
        fixHeight('firstColumn');
        fixHeight('secondColumn');
        fixHeight('thirdColumn');
    });
    function setRatio(container) {
        var selector = '#' + container;
        divRatio[container] = $(selector).height() / $(selector).width();
    }
    function fixHeight(container) {
        var selector = '#' + container,
            ratio = divRatio[container],
            height = ratio * $(selector).width();
        $(selector).height(height);     
    }
});