我试图在divTwo
div中设置#blue_square
的高度。我使用jquery计算高度:
$("#blue_square").css("top", $(window).height() / 2 - 90)
此代码在大屏幕上工作(如桌面),但在较小的屏幕上(如笔记本电脑,平板电脑,移动的)此代码不工作。
我看到的问题是,我的divTwo
的blue_square
CSS不知何故从blueBackground
div开始。下面是一个快照:example 1
我希望#blue_square
的CSS只适用于divTwo
内部,而不是外部。为什么“blue squaure”图从blueBackground开始,而不是从divTwo内部开始?我试着让它看起来像这样:example 2。
我在想我错估了#blue_square的高度。有办法解决吗?
<div class="blueBackground"></div>
<div class="divTwo">
<div class="col-md-12 col-sm-10">
<div id="blue_square" style="top: 310px;"></div>
</div>
</div>
.divTwo{
position: relative;
}
#blue_square{
position: fixed;
right: 0;
z-index: 9;
width: 370px;
box-shadow: 0 0 6px transparent;
}
$("#blue_square").css("top", $(window).height() / 2 - 90)
2条答案
按热度按时间qltillow1#
看起来你对#blue_square的固定位置的使用可能是#blue_square从blueBackground div而不是divTwo div的顶部开始的原因
但是你可以尝试使用这个jQuery
.height()
方法来获取div的高度,然后使用.css()
方法根据该值设置元素的高度。你看:
这将设置#blue_square的高度以匹配divTwo div的高度。
bvjxkvbb2#
您可以使用此计算:
但是,如果蓝色背景是一样大,或更大,那么窗口将不会显示蓝色块在所有。如果你想让蓝色块在用户开始滚动经过蓝色背景后出现,你需要使用JavaScript。(example)