Абсолютное расположенное дочернее отделение расширяется для установки родителю?

Вы могли бы быть лучше обслужены при помощи платформы JavaScript, которая имеет функции для возврата такой информации (и настолько больше!) способом браузера-independant. Вот некоторые:

С этими платформами, Вы могли сделать что-то как: $('id-of-img').top для получения y-пиксельной координаты изображения.

12
задан Rich Seller 4 August 2009 в 07:46
поделиться

3 ответа

Если я правильно помню, есть ошибка в том, как IE6 обрабатывает высоту div. Он только создаст div с высотой, необходимой для содержания внутри него, когда высота установлена ​​на 100%. Я бы порекомендовал два подхода:

  1. Не беспокойтесь о поддержке IE6, поскольку это все равно мертвый браузер.
  2. Если это не сработает, используйте что-то вроде jQuery, чтобы получить высоту родительского div, а затем установите дочерний div на эту высоту.
  3. подделайте его, установив фон одного цвета, чтобы никто не заметил разницы
1
ответ дан 26 October 2019 в 11:17
поделиться

Этого можно добиться, установив атрибуты ребенка как верхний, так и нижний.

Посмотрите, как это делается.

Внизу статьи есть ссылка на Дина Библиотека js для IE7 (и IE8) Эдвардса, которую вы должны включить для посетителей IE6. Это JS-библиотека, которая ДЕЛАЕТ IE6 вести себя как IE7 (или 8), когда вы ее включаете. Sweet!

IE7 и 8 JS-библиотек Дина Эдварса

0
ответ дан 26 October 2019 в 11:17
поделиться

Насколько я знаю, нет никакого способа расширить родительский элемент вокруг абсолютно расположенного дочернего элемента. Сделав дочерний элемент абсолютно позиционированным, вы удаляете его из регулярного потока элементов страницы.

Я недавно построил 2-колоночный сайт, где правая колонка была абсолютно позиционирована, а левая - нет. Если бы левая колонка имела меньшее содержание и меньшую высоту, чем правая, страница отсекала бы правую колонку, так как она была абсолютно позиционирована.

Чтобы решить эту проблему, я должен был определить, была ли высота правого столбца больше высоты левого, и если да, то установить высоту родительского дива больше высоты двух столбцов.

Вот мое решение jQuery. Я не очень разбираюсь в кодере, так что не стесняйтесь подкорректировать:

jQuery(function(){  

     var rightColHeight = jQuery('div.right_column').height();  
     var leftColHeight = jQuery('div.left_column').height();

     if (rightColHeight > leftColHeight){  
     jQuery('.content_wrap').height(rightColHeight+'px');  
 }  
});
0
ответ дан 26 October 2019 в 11:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: