仅在带图像的链接上进行CSS转换

时间:2012-07-12 19:33:42

标签: css3 hyperlink css-transitions

如何仅在具有图像而非文本的链接上应用转换。例如,仅在第二个链接中:

<a href="#">no image</a>
<a href="#"><img src="http://i.qkme.me/35rb4r.jpg"></a>

以下CSS将在所有链接上应用转换:

a{   
    -webkit-transition: opacity 0.5s;
    -moz-transition:    opacity 0.5s;
    -o-transition:      opacity 0.5s;
}

a:hover{
    opacity:0.1;
}

我已经尝试了这个并且不起作用。

a:hover img{
    opacity:0.1;
}

这里的jsfiddle:http://jsfiddle.net/wg5b3/

4 个答案:

答案 0 :(得分:1)

您无法通过css选择父元素。但你真的可以直接设置图像样式,即

a > img {transition: opacity 0.5s;}
a > img:hover {opacity 0.1;}

答案 1 :(得分:1)

a > img:hover{
    opacity:0.1;
    -webkit-transition: opacity 0.5s;
    -moz-transition:    opacity 0.5s;
    -o-transition:      opacity 0.5s; 
}

答案 2 :(得分:0)

a img:hover {
    opacity:0.1;
}

答案 3 :(得分:0)

你也可以试试这个:

a{   
    -webkit-transition: opacity 0.5s;
    -moz-transition:    opacity 0.5s;
    -o-transition:      opacity 0.5s;
}

a:hover #hello{
    opacity:0.1;
}

<a href="#">no image</a>
<a href="#" id="hello" ><img src="http://i.qkme.me/35rb4r.jpg"></a>