イメージを現在の位置から右に移動したいので、今現在持っている左の位置にピクセルを追加する必要があります。要素の現在の位置にピクセルを追加するにはどうすればよいですか?
flex
私は、image
とdiv
を持っています。両方とも、justify-content: center;
プロパティを持つコンテナの中央に配置されています。
位置がabsolute
の画像を移動しようとすると、位置がrelative
(そのコンテナ)の最も近い親まで戻り、そこにピクセルを追加して奇妙な視覚効果を作り出します。
HTMLコード:
<button type="button" onclick="moveImage()">Move image</button>
<div id="container">
<div id="left" class="block">Left</div>
<div id="center" class="block">
<img id="image" src="https://appharbor.com/assets/images/stackoverflow-logo.png" alt="stackoverflow">
</div>
<div id="right" class="block">Right</div>
</div>
CSSコード:
html, body{
width: 100%;
height: 100%;
}
#container{
display: flex;
height: 100%;
}
.block{
flex: 1;
}
#left{
background-color: red;
}
#center{
position: relative;
display: flex;
background-color: yellow;
justify-content: center;
}
#right{
background-color: orange;
}
#divCentered{
width: 50%;
height: 100px;
background-color: brown;
}
Javascriptをコード:
$(document).ready(function() {
var divParent = document.getElementById('center');
var div = document.createElement("div");
div.setAttribute("id", "divCentered");
divParent.appendChild(div);
});
function moveImage(){
$("#image").animate({
left: "+=300px"
}, 1000);
}
JSFiddleでは、画像がどのように元の状態に戻るかを確認し、そこにピクセルを追加することができます。
イメージが一部のピクセルを親に戻し、現在の位置にピクセルを追加しないようにする方法はありますか?
ありがとうございます!
私の場合は、画像がどこにあるのかわからないので、最初の左の値を設定できません。 –