我想最初在我的身体中隐藏文字,但是一旦孩子div中的元素悬停在上面就显示出来。所以在这种情况下,我希望它们最初都以display: none
开始,但是当我将鼠标悬停在字母“H”上时,我想要显示“文字A”。当我将鼠标悬停在字母“E”上时,我想要显示“文字B”。我不想把我的#content元素放在我的#word元素中。我想把它们作为单独的div。
任何想法?
(见下面的小提琴)
HTML:
<div id="word">
<h1><a id="h" class= "letter" href=#>H</a></h1>
<h1><a id="e" class= "letter" href=#>E</a></h1>
<h1><a id="l" class= "letter" href=#>L</a></h1>
<h1><a id="l2"class= "letter" href=#>L</a></h1>
<h1><a id="o" class= "letter" href=#>O</a></h1>
</div>
<div id="content">
<div id="textA">Text A</div>
<div id="textB">Text B</div>
</div>
CSS:
body {
font-family: 'Chango', cursive;
font-size: 115px;
color: white;
text-shadow: 5px 5px 5px #000;
width: 100%;
height: 100%;
margin: 0px;
background: black;
}
#name {
position:absolute;
height:100%;
width: 70%;
display: table;
padding: 0 15% 0 15%;
background: black;
}
h1 {
display: table-cell;
vertical-align: middle;
text-align:center;
height: 1em;
}
a {
/*border: 1px solid black;*/
display: inline-block;
line-height: 89%;
overflow: hidden;
}
a:visited, a:active {
text-decoration: none;
color: white;
/*color: #E8E8E8;*/
}
a:link {
text-decoration: none;
color: white;
text-shadow: 3px -3px 0px black, -2px 2px 5px #0056b2;
}
a:hover {
text-shadow: 5px 5px 5px #000;
color: white;
}
小提琴: http://jsfiddle.net/ADfhj/1/
PS-我试过以下的CSS无济于事:
#textA {
display: none;
}
#word:hover #textA {
display: block;
}
答案 0 :(得分:6)
无法仅使用css实现它。但是你可以尝试简单的javascript / jquery。
$('.letter').mouseover(function(){
var cont = $(this).attr('id');
$('#content>div').hide();
$('#text_'+cont).fadeIn();
});
检查Fiddle