Reputation: 13907
I've got a page with a thumbnail on it (more to come, so the float:left property is necessary). The thumbnail is a Div, with an anchor in it, in that anchor is an image and some text. The text is below the image. The ancho rinks to a pdf file. Simple.
http://www.bridgecitymedical.com/forms
The problem is that the text gets underlined on hover when you hover over it, and the thumb image gets a border and the text gets underlined when you hover over the thumb image. What I need is for then you hover over either the text or the image, that they BOTH get applied their respective hover states, e.g. image gets a border, text gets underlined. At the moment they function by themselves, but they need to be one, or it just looks odd.
Here's the markup:
<div class="form">
<a href="/wp-content/uploads/forms/Adolescent New Patient Paperwork.pdf" target="_blank">
<div class="form-wrapper">
<div class="form-thumb">
<img src="/forms/thumbs/1.jpg" alt="" />
</div>
Caption
</div>
</a>
</div>
and the css...
.form {
margin: 30px;
font-size:.8em;
width: 137px;
text-align: center;
}
.form-thumb{
width: 125px;
height: 150px;
padding:5px;
border: 1px solid rgba(0,0,0,.2);
float:left
}
.form-thumb:hover{
border: 1px solid #000;
}
The text underline comes from another part of the tylesheet by default.
Can I do this without javascript!?
Solved by Chris (selected answer). Here's his solution, with my thumb in a fiddle...
Upvotes: 1
Views: 70
Reputation: 30088
This should work to make both the image's div border and the caption's text black when hovered:
.form {
margin: 30px;
font-size:.8em;
width: 137px;
text-align: center;
}
.form-thumb{
width: 125px;
height: 150px;
padding:5px;
border: 1px solid rgba(0,0,0,.2);
float:left
}
.form:hover .form-wrapper .form-thumb {
border: 1px solid #000;
}
a:hover {
color:#000;
}
Upvotes: 0
Reputation: 12935
Use the :hover
state on .form-wrapper
instead.
<div class='wrap'>
<div class='thumb'></div>
Text!
</div>
.wrap{width:60px; height:80px;}
.thumb{width:60px; height:60px; background-color:blue;}
.wrap:hover{text-decoration:underline;}
.wrap:hover .thumb{border:5px solid black;}
Upvotes: 3