当前位置: 首页 > 面试题库 >

我可以基于百分比的宽度设置div的高度吗?

金烨华
2023-03-14
问题内容

假设我的div的宽度为正文的50%。如何使其高度等于该值?因此,当浏览器窗口的宽度为1000px时,div的高度和宽度均为500px。


问题答案:

这可以通过CSS hack完成(请参见其他答案),但是也可以使用JavaScript轻松完成。

将div的宽度设置为(例如)50%,使用JavaScript检查其宽度,然后相应地设置高度。这是使用jQuery的代码示例:

$(function() {

    var div = $('#dynamicheight');

    var width = div.width();



    div.css('height', width);

});


#dynamicheight

{

    width: 50%;



    /* Just for looks: */

    background-color: cornflowerblue;

    margin: 25px;

}


<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>



<div id="dynamicheight"></div>

如果希望框随着浏览器窗口的缩放而缩放,则将代码移至函数并在窗口调整大小事件中调用它。这也是一个演示(查看示例全屏并调整浏览器窗口大小):

$(window).ready(updateHeight);

$(window).resize(updateHeight);



function updateHeight()

{

    var div = $('#dynamicheight');

    var width = div.width();



    div.css('height', width);

}


#dynamicheight

{

    width: 50%;



    /* Just for looks: */

    background-color: cornflowerblue;

    margin: 25px;

}


<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>



<div id="dynamicheight"></div>


 类似资料:
  • 问题内容: 我正在尝试根据元素的(100%)高度使用宽度大小制作一个响应式正方形。我相信仅使用CSS是不可能的。 正方形宽度应等于高度(大型容器的100%。大型容器大于屏幕的100%)。该比例必须为width = height才能保持正方形。 问题答案: 好的,这里的解决方案。

  • 问题内容: 制作按宽度占据其父容器固定百分比的容器的最简单方法是什么? 当其父容器的宽度更改时,其宽度应更新。 我尝试使用,但是当父容器的宽度更改时,它不会更新。 问题答案: 您想要的是GridBagLayout。(如何使用?) 使用GridbagLayout可以为添加的每个单个组件定义GridBagConstraints。 这些限制条件包括其在锡罐上的确切说明。这是在“网格行”中所有组件上计算的

  • 问题内容: 怎样获得用CSS规则设置的元素CSS属性(例如width / height)(以百分比设置)(例如,百分比/ em / px)?(在Google Chrome浏览器中,最好是无框架的)。 using getComputedStyle返回当前值(以像素为单位),css()jQuery中也是如此。 例如: div在此示例中迭代所有元素时,我希望能够获得第二个divs的宽度50%(和第一个的

  • 问题内容: 我加载了Google Maps API v3,并在中打印了Google Map 。但是,当将width&height设置为100%并且是auto时,我看不到地图。 这是HTML代码段。 有没有解决此问题的方法? 问题答案: 如果要用它覆盖整个页面,则必须将所有父容器的宽度设置为100%。您必须至少为#content div的宽度和高度设置一个绝对值。

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

  • 问题内容: 我正在尝试给div(位置:固定)的宽度为100%(与其父div有关)。但是我有一些问题 编辑: **第一个问题是通过使用继承解决的,但它仍然无法正常工作。我认为问题在于我正在使用多个采用100%/继承宽度的div。 福克斯的例子 和html 问题似乎是 固定元素始终采用window / document的宽度 。有人知道如何解决吗? 我无法使用我的固定元素进行固定,因为我正在使用jSc