当前位置: 首页 > 知识库问答 >
问题:

根据div的宽度动态更改高度[重复]

傅峰
2023-03-14

我想知道如何将高度设置为

这怎么可能?


共有3个答案

谷奕
2023-03-14

有几种方法可以做到这一点。此示例是免费的JavaScript,但需要父元素。观察以下...

<div id="container">
    <div id="element"></div>
</div>
#container {
    display: inline-block;
    position: relative;
    width: 100px;
}
#container:after {
    content: '';
    display: block;
    margin-top: 100%;
}
#element {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: dodgerblue;
}

当宽度改变时,高度也同样改变。下面提供的是一个演示,使用jQuery只是为了方便地操作元素宽度。

// -- 100 x 100
$('#container').click(function() {
    $(this).width(50); // -- 50 x 50
});

JSFiddle链接-演示

JSFiddle链接-附加演示-%基于-(重新调整输出窗口大小以查看缩放)

此外,对于一个简短而简单得多的答案,使用vw单位。观察以下...

<div></div>
div {
    width:20vw;
    height:20vw;
    background-color: dodgerblue;
}

vw演示

这里有一个关于vw和其他可能感兴趣的类似单元的不错的文章

金瑞
2023-03-14

我怀疑是否只有css和html是可能的,因为窗口调整是动态的。我为演示创建了这个片段,您可以根据自己的方便程度进行更改。希望这段代码会有用。

HTML

<div class="defaultDimen" id='defaultDiv'>
    Hello Default Div
</div>

CSS

.defaultDimen{
    height:30%;
    width:20%;
    border:1px solid red;
    border-radius:6px;

}

JS

function _resizeDiv(options){
var ratio=options.ratio;
    var elem = $(options.element);
    var _getWidth = elem.width();
    var _getHeight = elem.height();

    elem.css({'width':'30%',
              'height':elem.width()*ratio})

}

$(window).resize(function(){
    var elem = document.getElementById('defaultDiv');
    _resizeDiv({
     ratio:0.5,
        element:elem
    })
})

可以指定高度的比率

颛孙森
2023-03-14

这是一个带有图像的解决方案

HTML

<div>
  <img src="transparent-image.png" alt=""/>
</div>

CSS

  div { display: inline-block; }
  img { max-width: 100%; }

演示

 类似资料:
  • 问题内容: 我在一个响应式网站上工作,遇到一个有趣的问题。我并排有一些div。可能有2到6个左右的任何地方。当屏幕的宽度不足以正确显示所有内容时,div将垂直堆叠。使用CSS足够简单。 我可以使用并手动设置位置,但是这会使父级缩小并且不能正确包含它们。 更复杂的是,我不能使用JavaScript。 使用两列: (未试) HTML: CSS: HTML,有4列: 问题答案: 得益于出色的flexbo

  • 问题内容: 我需要将元素的 宽度 保持为 高度 的百分比。因此,随着高度的变化,宽度也会更新。 通过为padding-top使用%值可以实现相反的效果,但以padding-left为百分比将是对象宽度的百分比,而不是其高度。 因此,使用这样的标记: 我想使用这样的东西: 为了确保根据盒子 的高度保持 盒子的 长宽比 。高度是可变的,因为它的百分比裕度-当窗口的高度改变时,盒子的高度也会改变。 我知

  • 问题内容: 我的元素: 风格: 脚本,使其保持方形: 问题是要在纯CSS中做同样的事情。没有脚本。 问题答案: 我知道有两种技术可以根据元素的高度保持元素的长宽比: 当 高度相对于视口时 : 您可以使用vh单位: 对于 基于父元素的高度的高度 : 您可以使用具有所需纵横比的虚拟图像。宽高比为1:1的示例可以使用1 * 1透明.png图像,也可以使用@vlgalik注释为1 * 1 base64编码

  • 问题内容: 我在一个响应式网站上工作,遇到一个有趣的问题。我有一些并排的div。可能有2到6个左右的任何地方。当屏幕的宽度不足以正确显示所有内容时,div将垂直堆叠。使用CSS足够简单。 问题是,我需要根据布局以不同的顺序排列它们。使用2或3个div([根据width更改div的顺序])很容易做到这一点,但是当您添加第四个[div时,难度就更大。 我可以使用并手动设置位置,但是这会使父级缩小并且不

  • 问题内容: 在Web应用程序中,我的页面包含一个DIV,该DIV的自动宽度取决于浏览器窗口的宽度。 我需要该对象的自动高度。DIV从顶部屏幕开始约300像素,其高度应使其延伸到浏览器屏幕的底部。我有一个容器DIV的最大高度,所以div的最小高度必须是最小。我相信我可以将其限制在CSS中,并使用Javascript处理DIV的大小。 我的JavaScript不够理想。我可以编写一个简单的脚本来为我做

  • 我想复制这家伙做的但不使用画布。我想有一个div在我的页面的中心,并简单地增加宽度/高度/边界半径10px每秒。这工作得很好,但是由于某种原因,div越大,它向右下方移动的越多。圆圈不是静止不动的,它的中心位置随着它变大而改变。如何在不改变位置的情况下更改div的宽度/高度? main.css index.html APP咖啡