【发布时间】:2013-09-27 02:28:11
【问题描述】:
我想使用 jquery 将子 div 的高度设为祖父母的百分比。
grandparent
parent
child
我希望孩子的身高是其祖父母的百分比,以便它响应视口。
【问题讨论】:
标签: jquery grandchild
我想使用 jquery 将子 div 的高度设为祖父母的百分比。
grandparent
parent
child
我希望孩子的身高是其祖父母的百分比,以便它响应视口。
【问题讨论】:
标签: jquery grandchild
Erik,你说的不是很具体。
例如,如果 'parent' 是 'grandparent' 的固定百分比高度,那么在 CSS 中设置孩子的百分比高度是简单的数学运算,不需要 JS。
否则,如果您希望孩子的身高是祖父母的 25%,则使用 jQuery:
var grandparent_height = $('#grandparent').height();
$('#child').height( grandparent_height * 0.25 );
您的问题还有更多吗?
如果您希望设置子项相对于视口的大小并且您只喜欢使用现代浏览器,那么您可以使用 CSS vh 单位(1vh 是视口高度的 1%),然后设置
#child {
height: 25vh;
}
不同的浏览器在测量视口大小时会返回不同的结果。这是一个关于不同浏览器处理的好资源(和 javascript 库):http://verge.airve.com/)
【讨论】:
viewportH = $(window).height(); 并设置$('#child').height( 0.25 * viewportH ); 如果您担心跨浏览器兼容性,请查看我发布的边缘链接,它将为您解决问题。
如果这是您的代码:
<div>
<div>
<div class="child">
</div>
</div>
</div>
你可能可以这样做:
var percentValue; // Set your percent here
var grandparentHeight = $('.child').parent().parent().height();
$('.child').css({'height' : grandparentHeight * percentValue});
【讨论】: