Ошибка IE6. Высота отделения увеличивается, когда a:hover инициирован

Для начала, пожалуйста, урежьте свой код до того, что абсолютно необходимо при публикации вопроса. Там есть много кода для анализа (тем более что не все на английском). По крайней мере, очистите ваши комментарии и т.д ...

Но проблема в том, что вы создаете таймер в функции initState () из _RopSayacState, но затем никогда не останавливаете его. Как объяснила ошибка, которую вы включили в свой вопрос, это вызовет проблемы, поскольку когда виджет больше не отображается, он удаляется из дерева виджетов, и поэтому вызов setState для него вызовет ошибку.

Чтобы исправить это, все, что вам нужно сделать, это отменить таймер, когда виджет удален. Самый простой способ сделать это - переопределить метод dispose из _RopSayacState. Это должно выглядеть так.

@override
void dispose() {
 super.dispose();
 _everySecond.cancel();
} 
5
задан Glorfindel 27 February 2019 в 08:02
поделиться

7 ответов

просто зафиксированный это!:D

что я имел, прежде был:

<div class="options clearfix">
    <!--content here-->
</div>

и я заменил для:

<div class="options">
    <div class="clearfix">
        <!--content here-->
    </div>
</div>

Теперь IE6 счастлив, и я счастлив также...

Поблагодарите Вас все за свою справку!

3
ответ дан 15 December 2019 в 01:12
поделиться

Это обычно - граница, устанавливаемая, который не был определен первоначально. Попытайтесь установить границу на растущем DIV к цвету фона по умолчанию. Мое предположение - то, что Вы не будете видеть, что что-либо больше растет.

1
ответ дан 15 December 2019 в 01:12
поделиться

Я думаю, что столкнулся с этим однажды, и что происходило, который был границами, изменялись (или действительно ли это были поля?) Я закончил тем, что хватал, и просто дал проблематичным элементам прозрачную границу 1 пкс и прекратил дело.

Я действительно сомневаюсь, что это окажется Вашим решением, но я надеюсь, что оно даст Вам некоторое представление в который направление заглянуть!

0
ответ дан 15 December 2019 в 01:12
поделиться

Я имел, которые происходят со мной также, но я не могу помнить, где это было точно. Я думаю, что действительно решал его, но я не совсем уверен как больше. Я могу думать о двух вещах:

  1. Дайте элементу "расположение". Я склонен делать это с zoom: 1.

  2. Добавить vertical-align: top любому a или li элемент.

Вы могли дать более полный пример кода? Я не могу воспроизвести его только с тем CSS.

0
ответ дан 15 December 2019 в 01:12
поделиться

Вы указывали высоту для того отделения явно? В противном случае установка высоты могла бы заставить это уйти.

0
ответ дан 15 December 2019 в 01:12
поделиться

Теги расположены в месте, где Вы могли дать им цвет фона все время? Если так, делает выбирание их цвета фона когда: парение не активируется, все еще заставляют их высоту изменяться?

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

<!-- This does not display the described behavior -->
<div class="options">
  <ul class="tags">
    <li><a href="#">c++</a></li>
    <li><a href="#">not-programming-related</a></li>
    <li><a href="#">cheese</a></li>
    <li><a href="#">barnacle</a></li>
  </ul>
</div>

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

Править: Просто выстрел в темноте, но можно хотеть попытаться установить значение для высоты строки на div.options.

РЕДАКТИРОВАНИЕ 2: После наблюдения Ваших снимков экрана я вспоминаю, что у меня была эта проблема на работе прежде, и фиксация в моем случае должна была добавить position:relative; zoom:1; к контейнеру (или возможно ссылки, я забываю!). Попробовать это?

РЕДАКТИРОВАНИЕ 3: После поиска с помощью Google для некоторых решений можно хотеть попытаться установить высоту если контейнер явно. Если это не работает, я понятия не имею, что сделать!

0
ответ дан 15 December 2019 в 01:12
поделиться

I have this exact problem as well. The trigger is definitely the background color on hover, but the usual solutions of giving the parent hasLayout don't work, I think because of nesting the A tags inside other tags. From what I ended up doing, your solution of nesting the clear fix is the right logic: separating the offending element, parent and clearing objects.

The solution I did was the following:

<div class="options">
<!--content here-->
<!--[if lte IE 6]><div class="ie6clear"></div><![endif]-->
</div>

With the following CSS:

.ie6clear{ clear:both; height:0; overflow:hidden; }

This way the clearfix CSS is only applied for IE6, highlights what the extraneous markup is, and makes it easy to remove when IE6 is no longer supported.

0
ответ дан 15 December 2019 в 01:12
поделиться
Другие вопросы по тегам:

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