宽度等于动态高度正方形[重复]

Posted

技术标签:

【中文标题】宽度等于动态高度正方形[重复]【英文标题】:width equal to dynamic height square [duplicate] 【发布时间】:2013-06-17 04:10:16 【问题描述】:

当高度是父 div 的百分比时,是否可以使用 css 或 js 设置元素的宽度以匹配它的高度。如果调整浏览器窗口的大小,子 div 也需要更改大小。

示例

body, html height: 100%
.parent height: 100%; width: 960px;
.child 
    height: 50%; 
    width: same as height; /* but not 50% of 960px, so that the child div is square*/

我正在尝试实现这样的目标,但要实现宽度而不是高度。 Height equal to dynamic width (CSS fluid layout)

提前致谢:-)

【问题讨论】:

javascript,我的朋友。 【参考方案1】:

如果您使用的是 jQuery,您可以在 resize() 函数中设置width = height 或反之亦然。

http://jsfiddle.net/Ev6Vj/173/

$(window).resize(function() 
  $('#main').height($('#main').width());
);
<div id="main">
    <img src="http://placehold.it/200x200" />
</div>
#main 
    position: absolute;
    bottom: 0;
    top: 0;
    border: #000 thin solid;
    background: #DDEEFF;
    width: 100%;

【讨论】:

只需拖动result 框架并观察高度与100% 框架宽度的宽度匹配。【参考方案2】:
$(document).ready(function()

    $(window).resize(function()
    
        $("div").height($("div").width());
    );
    $(window).resize();
);

您可以使用 jQuery 来匹配元素的高度和宽度。

【讨论】:

【参考方案3】:

使用 jquery。

function resizeChild() 
var child = $(".child");
var parentSize = child.parent().height();
child.height(parentSize / 2);
child.width(parentSize / 2);

$(window).ready(resizeChild);
$(window).resize(resizeChild);

see fiddle

【讨论】:

以上是关于宽度等于动态高度正方形[重复]的主要内容,如果未能解决你的问题,请参考以下文章

Xcode如何在水平stackview中创建一个方形按钮(宽度等于高度)

高度等于视口的方形 DIV

CSS实现图片实现正方形的效果

当宽度根据百分比动态变化时,制作一个 <div> 正方形 [重复]

ImageView 是动态宽度的正方形?

CSS实现图片实现正方形的效果