2016-02-05 53 views
-1

我有简单的规则形式的所有<a>忽略了A HREF规则:如何使用CSS

a:link { 
    text-decoration: none; 
} 

a:visited { 
    text-decoration: none; 
} 

a:hover { 
    text-decoration: underline; 
} 

a:active { 
    text-decoration: underline; 
} 

但我不希望这个申请<img><a>

<a href="link"> 
    <img class="myClass" src="smile.png" alt="this is image link example"> 
</a> 

哪有我忽略这个?

+1

为什么你不尝试使用一个类来设置链接样式,当你有一个img不使用类 – flpms

+0

嗯,我会改变结构在这里,但如果你真的想忽略这个结构的规则,将其全部包装在一个班级中,并按照你想要的样式设计 –

+0

没有父母选择器,所以我认为你可以应用以上两种说法中的任何一种。 –

回答

-2
a:link .myClass, 
a:visited .myClass, 
a:hover .myClass, 
a:focus .myClass, 
a:active .myClass { 
    text-decoration: none; 
} 
+0

不工作。尽管如此,我仍然在img上使用鼠标后“加下划线”。 – kousliac

+0

代码已更新,现在查看。 – Kcoitk

0

您需要在第一个目标之后添加另一组类,目标是img,img:hover等。但是,img元素不支持文本修饰。你想用图像避免什么?

0

把你的href放在一个div里面并且给这个div分配一个类;然后你可以在类的后面加一个:

<div class="stylin"> 
    <a href="link"> 
     <img class="myClass" src="smile.png" alt="this is image link example"> 
    </a> 
</div> 

然后在样式表中。

.stylin a:link { 

} 
0

不幸的是没有办法看,看一个IMG有一个链接作为父(母选择器),以然后更改基于该链接的元素。您需要使用Javascript或JQuery才能做到这一点,或者您可以将“link-img”类添加到包含图像的任何链接元素,并相应地设置它的CSS属性。

HTML:

<a href="#">Link 1</a> 
<a href="#">Link 2</a> 
<a href="#">Link 3</a> 
<a class="link-img" href="#"> 
    <img src="smile.png"/> 
</a> 

CSS:

a:link { 
    text-decoration: none; 
} 
a:visited { 
    text-decoration: none; 
} 
a:hover { 
    text-decoration: underline; 
} 
a:active { 
    text-decoration: underline; 
} 
.link-img { 
    text-decoration:none; 
} 
0

你可以添加一个类的<a>标签。

例如

<a href="link" class="image"> 
<img class="myClass" src="smile.png" alt="this is image link example"> 
</a> 

,然后用CSS:

a.image{ 

} 

在这个例子中,你将不得不专门设置规则来对付所有<a>标签

另一个先前设定的规则方法是将额外的课程与:not选择器

01一起使用
a:link:not(.image) { 
    text-decoration: none; 
} 

a:visited:not(.image) { 
    text-decoration: none; 
} 

a:hover:not(.image) { 
    text-decoration: underline; 
} 

a:active:not(.image) { 
    text-decoration: underline; 
}