私は div と呼ばfirst
れる幅を動的に、左右のマージンに応じて水平方向に中央 揃えにすることができます。
.first
{
width:70%;
background-color:#5b9a68;
position:relative;
margin:0 auto;
}
second
位置を持つ別の divfixed
.second
{
position:fixed;
background-color:black;
color:white;
left:input;
}
HTML
<div class="first">content</div>
<div class="second">Left Value</div>
このsecond
div を div に従って配置するfirst
必要があります。ここでの問題はsecond
div の位置です。fixed
画面の幅に応じて配置されているため、このスクリプトを div に従って配置しようとしましたfirst
。
$(document).ready(function(){
var input=0;
var first_width = $(".first").width() / $('.first').parent().width() * 100;
var pos = (100-first_width)/2;//getting the empty part
var ex_pos=pos+input;
$('.second').css("left",ex_pos+"%");
});
ここで、入力がゼロの場合、div の先頭から開始する必要がありますfirst
が、これは問題ありませんが、入力値を変更すると、div に従って正確なパーセンテージの位置が得られませんfirst
。
たとえば、入力として 50 を指定すると、65 に配置されますが、この方法ではfirst
div の 50 に完全に配置されません。また、入力として 100% を指定すると、これは外に出ます。
入力が 100 の場合にこれを行う方法、second
div は div の最後にある必要がありますfirst
。入力が 50 の場合、その中間にあるはずfirst
です。
注-css を変更または編集したくありません。スクリプトだけでやりたいです。 フィドルをチェック