2013-07-17 5 views
1

Итак, вот что я хочу сделать в своей самой упрощенной форме. Я хочу, чтобы на странице появилось окно, и когда вы наводите на него курсор, это содержимое видно, иначе они скрыты. Так, например, скажем, у нас есть это:Есть ли способ скрыть содержимое div, но не сам div?

<style type="text/css"> 
#box { 
    background-color:red; 
    width:100px; 
    height:100px; 
} 
</style> 

<div id="box"> 
    <img src="smileyface.png" /> 
</div> 

Большую часть времени, изображение скрыто, и это выглядит как красное поле, но когда ДИВ завис над изображением появляется. Есть ли способ сделать это с помощью CSS, а не javascript. Я знаю, что с javascript мы могли бы просто удалить элемент и добавить его обратно, когда мы идем, но я просто хочу показать его и скрыть. Мысли?

* Должен быть совместим с IE 8, потому что я обжора для наказания. *

+0

Почему ваш CSS в блоке скрипта? – j08691

+0

@ j08691 - это правильно. Вы должны поместить свой CSS между

+0

@ j08691 Упс! Я никогда не использую встроенный CSS, поэтому я просто был глуп. – ChapmIndustries

ответ

2

Вы можете использовать : парить на любом теге вы хотите:

#box { 
    background-color:red; 
    width:100px; 
    height:100px; 
} 

#box:hover { 
    background-image: src('smileyface.png'); 
} 
+0

PS: IE правильно интерпретирует псевдоклассы (как: hover) с версии 7. –

4

Это довольно легко. Просто измените свойство отображения изображения, когда #box завис.

#box > img { 
    display: none; 
} 

#box:hover > img { 
    display: block; 
} 
+0

Прохладный, но скажем, в div есть не просто изображение. Что делать, если есть заголовок, абзац и изображение? – ChapmIndustries

+0

Не лучше ли использовать видимость: hidden; здесь, так что пространство сохраняется? –

+0

Либо установите правило для каждого из них, либо поместите их в обертку div. –

Смежные вопросы