Это ошибка IE7:
У меня есть кусок стола, который я нажимаю на другой <tbody>
. Хорошо, проблема в том, что внутри клеток у меня есть позиция: относительная; div и внутри этого div у меня есть несколько других position:absolute;
div.
Дело в том, что они отображаются так, как если бы родительский div не был позицией: относительный, то есть полностью в левом верхнем углу экрана. ПОЧЕМУ?!?!
В ff, chrome все работает нормально, но в IE7 я получаю эти надоедливые вещи. Я пытался поместить hasLayout везде, но он просто не работает.
Вот что у меня есть:
<table>
<thead></thead>
<tbody id="mtbody">
</tbody>
</table>
И это то, что я получаю и нажимаю на «mtbody» (образец):
<table id="testando">
<tr>
<td hasLayout="true" class="uhr sl" colspan="7" style="border-bottom: dashed 1px #dddddd; background-color: #eeffee;">
<div style="overflow: hidden;" class="holdU" hasLayout="true" betriebsId="83113" betriebsName="2nd Level">
<div hasLayout="true" class="uhr filled0sl" style="width: 679px; left: 0px;">
</div>
<div hasLayout="true" class="border" style="left: 96">
....
Таким образом, класс "holdU" - это позиция: относительная, а классы "uhr" - это позиция: абсолютная, и они находятся прямо сейчас в моем верхнем левом углу, что-то вроде невидимого.
Как я могу это исправить?
UPDATE:
Так что в основном это ожидаемый результат: http://jsfiddle.net/kgT6E/ (от DanielB). Но я этого не понимаю. Представьте, что этот зеленый квадрат теперь находится в 100px от границ, но вместо того, чтобы оборачивать красные квадраты, они остаются в верхнем левом углу, поскольку позиция: относительная от зеленого квадрата не оказывает никакого влияния.
Это код, который я использую для загрузки вещей в таблицу:
$.get(savedUrl, function(res) {
var div = $("<div>").html(res);
// this is because I get other stuff together, but what I really want is the tbody content.
$("#mtbody").html($(div.find("tbody").get(0)).html());
});
Раньше я загружал все в тело,
$ ( "# Mtbody"). Нагрузка (savedUrl)
Но IE7 не распознавал TR и TD, поэтому мне пришлось обернуть их в таблицу. Теперь я получаю странное позиционирование с позиции: абсолютные дивы.
ОБНОВЛЕНИЕ 2: Я попытался поставить все единицы (23 px ), но пока не повезло. Я думаю, это потому, что я должен сначала обернуть это в div, и когда я делаю это, позиции не обновляются .. действительно странная и неприятная ошибка в IE .. = /