У меня на компьютере с Windows Vista происходило очень странное поведение, когда у меня был элемент HTML SELECT с обеими следующих характеристик: -
- «размер» больше 1 (скажем, размер = «3») [то есть он становится списком, а не раскрывающимся списком]
- и больше обычного числаэлементов (скажем, более 100 элементов, в зависимости от длины каждого элемента)
Код выглядит следующим образом: -
<select size="3" name="controlId" id="controlId">
<option value=""></option>
<option value="1">aaaaaaaaa</option>
<option value="2">bbbbbbbbb</option>
<option value="3">ccccccccc</option>
<option value="4">ddddddddd</option>
<!-- ...repeat above line say 100 times... -->
<option value="999">zzzzzzzzz</option>
</select>
Поведение, которое я получаю, является переносом спискаэлементы вертикально вокруг нижней части (а иногда и сверху) браузера.Иногда поведение проявляется сразу, когда страница появляется в других случаях, когда я прокручиваю элементы списка вниз (с помощью стрелки вниз на клавиатуре) до последнего элемента
Проблема возникает в IE8 / IE9 (в Vista) -обратите внимание, что код отлично работает в IE7 в Vista и в Firefox - и нормально работает в IE8 / 9 при использовании Windows XP).
Я попытался поэкспериментировать с тегом DOCTYPE: -
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!-- or -->
<!DOCTYPE html>
Также с тегом HTML: -
<html xmlns="http://www.w3.org/1999/xhtml" >
<!-- or -->
<html>
Также с тегом META: -
<meta http-equiv="X-UA-Compatible" content="IE=9" />
<!-- or -->
<meta http-equiv="X-UA-Compatible" content="IE=8" />
<!-- or -->
<meta http-equiv="X-UA-Compatible" content="IE=7" />
<!-- or -->
<meta http-equiv="X-UA-Compatible" content="IE=Edge" />
В рамках моего тестирования я пробовал с и без (и комбинациями) вышеперечисленного.Я могу заставить его работать правильно последовательно, если я использую: -
<meta http-equiv="X-UA-Compatible" content="IE=7" />
Однако, он действительно должен работать правильно с настройкой "IE=8"
или "IE=9"
, а не возвращаться к "IE=7"
.Это также будет работать нормально, если я вообще ничего не использую, но, насколько я вижу, это происходит, когда браузер переключается в представление совместимости (как видно из диалога инструментов разработчика IE).
Это выглядит такошибка в IE8 / 9 - кто-нибудь имел эту проблему и / или у кого-нибудь есть решение?