Динамическая установка высоты в Internet Explorer переводит на высоту: авто - PullRequest
2 голосов
/ 26 июля 2010

Этот скрипт берет значение высоты каждого элемента span и применяет его к родительскому элементу li (я написал его для решения некоторых проблем с плавающей запятой / разметкой). Он отлично работает в Firefox и Chrome: после выполнения я проверяю html и все работает нормально.

Однако в IE 7 и 8 (не пытаясь попробовать с IE6, винт это) он не работает должным образом. Вместо этого он автоматически устанавливает высоту всех ли.

Это мой код:

$(".fase ol > li").each(function(index) {
  var li_content_height = $('span', this).css('height');
  $(this).css('height', li_content_height )
});

И HTML:

<div class="fase">
  <ol>
    <li>
      <span>blablablablabla</span>
    </li>
    <li>
      <span>blablablablabla</span>
    </li>
  </ol>
</div>

Ответы [ 3 ]

6 голосов
/ 26 июля 2010

Вы пытались использовать высота вместо?

var li_content_height = $('span').height() + $(this).height();
$(this).css('height', li_content_height);

Если вы хотите высоту, включая отступы или поля, вы можете использовать outerHeight :

var heightWithPadding = $('span').outerHeight();
var heightWithPaddingAndMargin = $('span').outerHeight(true);
3 голосов
/ 26 июля 2010

А? Где вы определяете явную высоту? Вы хотели сделать $('span', this).height()?

Было бы полезно, если бы вы предоставили демонстрацию реального кода, чтобы мы понимали контекст в отношении макета / дизайна ...

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

Edit # 2 : Без ваших сценариев 1 становятся 1, 2, 3, 4, 5 правильно. Горизонтальное поле становится немного противоречивым. Вы должны быть в состоянии zoom:1 на li. Я думаю, что вам нужно реорганизовать свой CSS вместо того, чтобы полагаться на скрипты, положительно, что это можно решить без него. Кроме того, у вас серьезные проблемы с разметкой , поскольку некоторые теги не закрыты должным образом, проверьте его.

1 голос
/ 26 июля 2010

Используйте .height() вместо .css('height')

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...