Я получаю абсолютно позиционированное положение повернутых элементов с помощью метода jQuery .position()
, затем устанавливаю связанные с позицией атрибуты (вверху слева) с помощью jQuery .css(pos)
, где pos
- это данные, возвращаемые .position()
. Я думаю, что это оставит элемент на своем месте, но положение элементов меняется.
Как я могу использовать заданное положение повернутых элементов, чтобы оно было расположено как положено? Может быть, есть коэффициент, зависящий от угла, который меняет положение?
Я тестирую в Google Chrome v.9, Windows XP.
HTML
<div id="container">
<div id="element">
<img src="http://t0.gstatic.com/images?q=tbn:ANd9GcS0Fawya9MVMez80ZusMVtk_4-ScKCIy6J_fg84oZ37GzKaJXU74Ma0vENc"/>
</div>
</div>
CSS
#container {
position: relative;
border: 1px solid #999;
padding: 5px;
height: 300px;
width:300px;
}
#element {
position: absolute;
top:50px;
left: 60px;
width: auto;
border: 1px solid #999;
padding: 5px;
-webkit-transform: rotate(45deg);
-moz-transform: rotate(45deg);
}
JS
$(document).ready(function(){
var $el = $('#element'),
// getting position
pos = $el.position();
alert(pos.left + '/' + pos.top);
// alerts 37/11
// setting css position attributes equal to pos
$el.css(pos);
// re-getting position
pos = $el.position();
alert(pos.left + '/' + pos.top);
// alerts 14/-28
});
Просмотр http://jsfiddle.net/Antaranian/2gVL4/