у меня есть следующий html (отрывок из большего кода - base)
<div class="diary-event ui-corner-all" title="[title]">
<span id="delete"></span>
<div class="diary-event-title ui-corner-all">[title]</div>
<div class="diary-event-body ui-corner-all">
<p class="hyphenate">[body]</p>
</div>
</div>
(где [title] и [body] - это динамически генерируемые строки)
и стиль для этого выглядит следующим образом:
.ui-corner-all
{
-moz-border-radius:4px 4px 4px 4px;
}
.diary-event
{
display:block;
height:100%;
position:relative !important;
vertical-align:top;
width:100%;
word-wrap:break-word;
}
table *
{
margin:0;
padding:0;
}
#diary-grid
{
border-collapse:collapse;
}
body
{
font-family:Arial;
}
теперь в Firefox, Chrome и большинстве других браузеров относительное расположение этого div означает, что он прокручивается вместе с остальной частью страницы, без проблем, однако по какой-то причине в IE 6 и 7 он действует так, как будто позиционирование статическое (IE 8 работает нормально).
Ни в какой точке / any / css files - это позиция, называемая статической, и мне было интересно, сталкивался ли кто-нибудь с этой проблемой раньше, и если да, то как я могу ее исправить.
-Matt
.: ОБНОВЛЕНИЕ:.
Просто обновление при этом я обнаружил, что проблема в том, что JQuery вводит позиционирование напрямую i в раздел 'style' главного div:
start: function(event, ui)
{
---> $(diary_event).attr('style','position: relative'); <----
diary_event = $(this);
diary_event_parent = $(this).parent();
}
, однако, если я удалю его, это нарушит возможность точного повторного перетаскивания отброшенного элемента во всех других браузерах, кроме IE,
другими словами, я обнаружил, где проблема существует, но не как ее исправить> _ < - Мэтт
Это из-за ошибки в IE6 и 7. Вам просто нужно добавить позицию: относительно элемента "body" (а не заполнителя "body"). http://friendlybit.com/css/ie6-resize-bug/
Надеюсь, это поможет!