К сожалению, это невозможно без добавления другого элемента в <li>
.Неверное поведение list-style-position
возникает в IE6 / 7, когда элемент <li>
получает hasLayout .Вы хотите полностью избежать hasLayout на элементе.width
является одним из триггеров hasLayout .
Я предлагаю поставить <span>
в <li>
(да, извините, если вы будете плакать)
<li><span>Item</span></li>
и измените стиль li:hover
следующим образом
#create_left li:hover {
background: #B0B0B0;
cursor: pointer;
}
#create_left li:hover span {
display: block;
width: 356px;
background: #B0B0B0 url('/images/list_add.png') 100% 100% no-repeat;
}
Таким образом, диапазон контролирует ширину <li>
, не задавая hasLayout .Вам нужно только удалить padding-top: 5px;
из CSS <li>
и противодействовать ему с помощью line-height
, в противном случае <span>
не получит полную высоту.
Сделайте его, если необходимо, IE6 / 7.условная таблица стилей.