Ваша структура документа недействительна. <ul>
является элементом уровня блока , <a>
является встроенным элементом; встроенные элементы не могут содержать элементы уровня блока, только другие встроенные элементы. (Элементы уровня блока могут содержать и то и другое.) То, что это работает в других браузерах, является причудой, зависящей от реализации, и вы не должны рассчитывать на то, что она продолжит работать в будущем.
Правильный способ решить эту проблему - сделать фокусируемый содержащий <div>
, добавив атрибут tabindex
:
<div id="monther" class="single" tabindex="0">
<span>Month</span>
<ul class="month" style="height:100px;width:200px;overflow:auto;">
<li id="1310421600">Jul 2011</li>
<li id="1307829600">Jun 2011</li>
<li id="1305151200">May 2011</li>
<li id="1302559200">Apr 2011</li>
<li id="1299884400">Mar 2011</li>
<li id="1297465200">Feb 2011</li>
<li id="1294786800">Jan 2011</li>
<li id="1292108400">Dec 2010</li>
<li id="1289516400">Nov 2010</li>
</ul>
</div>
Смотрите его в действии здесь. <ul>
скрывается после того, как содержащийся <div>
теряет фокус в IE, Chrome и Firefox.