[英]CSS - Setting the top/left properties of a rotated element
考慮我有一個相對/絕對定位的div,並帶有一個transform: rotate
屬性。 更改此div的top / left屬性如何影響其在屏幕上的位置? 在我創建的一個小型演示中,嘗試移動div時,通過更改其top / left屬性,它不會按預期移動。 例如,在下面的演示中,我有一個相對定位的div,它旋轉了45度,最初位於(300px,300px)。 嘗試將該div移動(5px,5px)時,該div實際上會向后移動...為什么呢?
這是演示- 演示 (單擊紅色方塊以將其在每個方向上移動5px)
謝謝!
問題是position
試圖包含諸如margin
, position
等之類的東西(也許它也使用rotate
來計算position
)。 因此,請使用+=number
代替position
。 例如:
$(document).ready(function() {
$('.redSquare').on('click', function() {
$('.redSquare').css('top', "+=5");
$('.redSquare').css('left', "+=5");
});
});
這按預期工作。
針對預期行為更新了代碼。 請參考這支筆
$(document).ready(function() {
$('.redSquare').on('click', function() {
$('.redSquare').css('top', parseInt($('.redSquare').css('top')) + 5 + 'px');
$('.redSquare').css('left', parseInt($('.redSquare').css('left')) + 5 + 'px');
});
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.