Позиция IE: относительное отображение, как если бы позиция: статическая

у меня есть следующий 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,

другими словами, я обнаружил, где проблема существует, но не как ее исправить> _ < - Мэтт

1
задан Matt 20 August 2010 в 14:41
поделиться