ページに要素があります:
#current_colors_container{
position: fixed;
margin-bottom: 70px;
margin-top: 70px;
width: 23%;
left: 1.6%; }
そのままmargin-top
にしておくと、上にスクロールしているときに上の要素margin-bottom
が覆われず、下にスクロールしているときに下にあるページの絶対要素が覆われません。
しかし、両方のプロパティが機能せず、そのうちの 1 つ (リストの最初) のみが機能し、理由がわかりません。両方向にスクロールしているときに両方のマージンがあると予想していました。
そして、JQでそれを修正しようとしてもうまくいきません:
$(window).scroll(function(){
if($("#current_colors_container").length>0){
var bottom_nav=$('#bottom_nav').offset().top;
var container_top=$("#current_colors_container").offset().top
var color_container=container_top+$("#current_colors_container").height();
if( bottom_nav<=color_container){
$("#current_colors_container").css({"margin-top":"", "margin-bottom":"70px"})
}
}
});
純粋な CSS ソリューションはありますか? または、JS 関数をどのように修正すればよいですか?
UPD
これで、JQ 修正margin
が機能します。ID CSS から削除し、クラス (関数addClass
および を使用removeClass
) を介して提供すると、このソリューションにより #container が他の要素の上または下に修正される前に「ジャンプ」(すばやくシフト) されますが、そうではありません。このまま、浮かんでやめてほしい。