2010-05-05 3 views
7

В CSS, возможно ли, что когда я опрокину один элемент, я делаю еще один элемент видимым? У меня есть значок, и когда кто-то меня обманывает, я хочу, чтобы он сделал видимым текстовым элементом, который описывает, что делает значок.CSS - Переверните один элемент и сделайте видимым другой элемент

ответ

15

Вот только CSS-подсказка, которую я использую все время :) Отлично работает даже в IE.

a:hover { 
background:#ffffff; 
text-decoration:none; 
} 
/*BG color is a must for IE6*/ 

a.tooltip span { 
display:none; 
padding:2px 3px; 
margin-left:8px; 
width:130px; 
} 

a.tooltip:hover span{ 
display:inline; 
position:absolute; 
background:#ffffff; 
border:1px solid #cccccc; 
color:#6c6c6c; 
} 

Easy 

<a class="tooltip" href="#"> 
Tooltip 
<span>T his is the crazy little Easy Tooltip Text. 
</span> 
</a> 

Надеюсь, это поможет.

+1

вот скрипка http://jsfiddle.net/c0owz9qb/ – suhailvs

3

уверен, что это!

.me:hover span { display: block; } 

Если вы хотите, чтобы показать элемент, который не является потомком элемента парил вам, возможно, придется использовать Javascript

0

согласен с рекомендацией JavaScript. В частности, jQuery является простым и наиболее подходящим для логики поведения страницы. Я думаю, что CSS должен быть только выглядеть/чувствовать/стиль ... Javascript должен быть всем вашим логикой событий и поведения.

6

Вы можете сделать ребенка-элементы видны при наведении на родителя (как Hunter suggests), или братья и сестры:

span:hover + span {display: block; } 

Есть, возможно, некоторые незначительные проблемы совместимости кросс-браузер, но с правильным DOCTYPE Я думаю, IE7 + в порядке с селекторами братьев (хотя я не пытался проверить эту теорию).

1

Вот немного похлопал-вместе пример, который не будет работать в IE ...

<html> 
<head> 
<style> 
    div.tooltip 
    { 
     margin-top: 16px; 
     margin-left: -1px; 
     position: absolute; 
     border: 1px solid black; 
     background-color: blue; 
     color: yellow; 
     display: none; 
    } 
    div.icon 
    { 
     width: 16px; 
     height: 16px; 
     border: 1px solid blue; 
     background-color: cyan; 
    } 
    div.icon:hover .tooltip 
    { 
     display: block; 
    } 
</style> 
</head> 
<body> 
    <div class="icon"> 
     <div class="tooltip">This is what the icon does.</div> 
    </div> 
</body> 
</html> 

Но вы действительно должны просто использовать JQuery.

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