Reputation: 1
What I'm after is three icons to be displayed at all times in a row. Then, once one of the icons is hovered over, text displays underneath all three. Then, once the next icon is hovered over, different text etc. When no icon is hovered over, no text displays. I saw something very similar done using HTML and CSS so was wondering where I've gone wrong.
Thanks in advance
body {
text-align: center;
}
.fa {
padding: 20px;
}
#twitterText,
#facebookText,
#instagramText {
display: none;
}
.fa-twitter:hover + #twitterText {
display: block;
}
.fa-facebook:hover + #facebookText {
display: block;
}
.fa-instagram:hover + #instagramText {
display: block;
}
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet">
<i class="fa fa-twitter fa-5x"></i>
<i class="fa fa-facebook fa-5x"></i>
<i class="fa fa-instagram fa-5x"></i>
<p id="twitterText">Twitter</p>
<p id="facebookText">Facebook</p>
<p id="instagramText">Instagram</p>
Upvotes: 0
Views: 13590
Reputation: 7015
replae +
with ~
which indicate successor sibling
body {
text-align: center;
}
.fa {
padding: 20px;
}
#twitterText,
#facebookText,
#instagramText {
display: none;
}
.fa-twitter:hover ~ #twitterText {
display: block;
}
.fa-facebook:hover ~ #facebookText {
display: block;
}
.fa-instagram:hover ~ #instagramText {
display: block;
}
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet">
<i class="fa fa-twitter fa-5x"></i>
<i class="fa fa-facebook fa-5x"></i>
<i class="fa fa-instagram fa-5x"></i>
<p id="twitterText">Twitter</p>
<p id="facebookText">Facebook</p>
<p id="instagramText">Instagram</p>
Upvotes: 5