私は 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>
このseconddiv を div に従って配置するfirst必要があります。ここでの問題はseconddiv の位置です。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 に配置されますが、この方法ではfirstdiv の 50 に完全に配置されません。また、入力として 100% を指定すると、これは外に出ます。
入力が 100 の場合にこれを行う方法、seconddiv は div の最後にある必要がありますfirst。入力が 50 の場合、その中間にあるはずfirstです。
注-css を変更または編集したくありません。スクリプトだけでやりたいです。 フィドルをチェック