2013-04-14 3 views
0

Я создал веб-страницу с div с id = "x" внутри другого div с id = "y". Внутренний div имеет отображение: none. Как только внешний div будет виден, внутренний дисплей div установлен на «inline». Проблема в том, что как только внутренний div видится, и я пытаюсь его навести, div исчезает, так как на дисплее снова отображается «none». Эта проблема присутствует только в IE, а не в FF или Chrome. В Firefox или chrome я могу навешивать внешний div и когда внутренний div становится видимым, я тоже могу его зависнуть.Div внутри div, зависающего в IE?

HTML код:

<divid="y">Blah Blah 
<div id="x">Random Text</div> 
</div> 

CSS КОД:

div#y:hover div{display:inline;} 
div#x{display:none;} 
+0

вы должны отметить ответ, если один из ответов дал вам решение. – ArchiFloyd

ответ

0

Проблема заключается в том, что вы зависание другого объекта, когда мышь находится над DivX. Вы могли бы исправить это, наведя курсор мыши на divx, чтобы изменить отображение на встроенный, что также сделает трюк.

div#x:hover div{display:inline;} 

http://jsfiddle.net/9zBbP/6/

Это также сделает вас в состоянии понизить размер вашего HTML и CSS, как вы можете комбинировать у: парить и х: парить в одних и тех же свойств в CSS, и вы используют только 2 divs в HTML.

0

Я не уверен, если это будет работать, но попробуйте добавить еще один внешний DIV:

<div id="y">Blah Blah 
    <div id"anotherDiv"><div id="x">Random Text</div></div> 
</div> 

С дисплеем от блока

div#anotherDiv {display: block; } 

http://jsfiddle.net/9zBbP/

0

вам просто нужно разместить правильный doctype, чтобы он работал в IE.

<!DOCTYPE html> 

вы должны иметь разметку, как это: если предположить <divid="y" > опечатка.

<div id="y">Blah Blah 
    <div id="x">Random Text</div> 
</div> 
0
#y:hover #x{ 
     display:inline; 
    } 
#x{ 
    display:none; 
} 

может быть достигнут также этим путем