Подтвердить что ты не робот

Как выбрать опции, перекрывающие абсолютную позицию DIV?

У меня есть абсолютный позиционный div, который работает как всплывающая подсказка. На мыши над элементом он показывает, а затем прячется за мышь. У меня мало элементов <select> на странице, которая находится над элементом подсказки. В нормальном случае div tooltip появится над тегом select. Но когда пользователь нажимает на тег select и отображаются параметры, он перекрывает всплывающую подсказку. Предоставление более высокого значения z для индекса select или options не работает.

enter image description here

Вот пример кода, иллюстрирующий проблему.

<body>
<h1>Select Options Overlapping Absolute Positioned DIV</h1>

<select name="some-name">
    <option>United States</option>
    <option>Canada</option>
    <option>Mexico</option>
    <option>Japan</option>
</select>

<div id="top-layer">
   <h2>Overlapping Div</h2>
</div>
</body>

CSS

select, options{ z-index:10;}

#top-layer { 
   background:#ccc; 
   color:#000; 
   border:solid 1px #666; 
   position:absolute; 
   top:45px; 
   left:70px; 
   z-index:100;
}
4b9b3361

Ответ 1

В соответствии со спецификациями (http://docs.webplatform.org/wiki/html/elements/option)

За исключением фонового цвета и цвета, параметры стиля, применяемые к объекту стиля для элемента опции, игнорируются.

И, следовательно, свойство z-index игнорируется, а поведение по умолчанию - выпадающее над всеми элементами документа.

Ответ 3

Это работает (с использованием jquery - нужно вызвать событие mouseover):

var $select = $("select").blur();
if ($.browser.webkit) {
  $select.hide();
  setTimeout(function() {
    $select.show()
  }, 5);
}

blur, похоже, достаточно в IE7-9 и FF. Webkit не уважает это (ошибки подаются против этого), поэтому решение, похоже, быстро скрывает и показывает окно выбора.

Ответ 4

Try:

form, select, options{ z-index:10;}

Возможно, тег формы дает ему наложение. Он должен работать так же, как и у вас, поскольку IE учитывает z-index.

С уважением, -D

Ответ 5

Скрытие Выбор через script - это текущая опция