Имейте в виду, что когда Scriptaculous начинает анимацию, изменяемый контейнер будет абсолютно позиционирован, а затем будет получена запись высоты, аналогичная той, о которой упоминает Даниэльшерсон.Однако, если контейнер не существует в относительно позиционированном родительском контейнере, тогда размеры анимационного контейнера могут довольно сильно измениться.Самый простой способ проверить это - изменить контейнер с помощью firebug, чтобы установить абсолютное положение.Что просходит?Изменилась ли высота?Для достижения наилучших результатов не должно быть никаких изменений в размерах вашего анимационного контейнера при переключении в абсолютное положение.То, что происходит с остальной частью вашего документа, например, с содержимым, перемещаемым под ним, не имеет значения.
Проблема с отступом / полем тоже сложная, поскольку на самом деле нет способа предотвратить перекрытие полей исоздание проблем.Лучший способ, который я нашел для решения этой проблемы, - установить плавающий контейнер для анимации, а затем использовать метод взлома clearfix для родительского контейнера, чтобы убедиться, что ничего не перекрывается.
<body style="margin: 0 auto; width: 300px; position: relative; background: black;">
<div class="parent nonanimating clearfix">
<div class="animating" style="float: left; width: 100%; background: white;">
<div class="apply-your-margins-and-padding-here">
...content...
</div>
</div>
</div>
<div class="parent nonanimating clearfix">
<div class="animating" style="float: left; width: 100%; background: white;">
<div class="apply-your-margins-and-padding-here">
...content...
</div>
</div>
</div>
</body>
Обратите внимание, что классы не работают и предназначены только дляссылка на мои комментарии, за исключением clearfix, который является хакером float clear.Фоны и ширина указаны только для того, чтобы дать лучший пример того, что происходит.Добавьте любую анимацию, которую хотите, в $$ ('. Animating')
Я использую эту (их много), хотя она старая, и я даже не создаю дизайн для многих браузеров.взломать поддерживает ..
.clearfix:after {
content: ".";
display: block;
clear: both;
visibility: hidden;
height: 0;
}
.clearfix {
display: inline-block;
}
/* Hides from IE-mac \*/
* html .clearfix {height: 1%;}
.clearfix {display: block;}
/* End hide from IE-mac */