2011-12-30 36 views
5

裏面我有這樣的聯繫:文本裝飾鏈路和跨度此鏈接

<a href="#">Link text<span>Link sub-text</span></a> 

徘徊時,我需要內部跨度文本不飾有下劃線(但主要鏈接文本)。可能嗎? 我試過了:

a:hover span {text-decoration:none;} 

這是行不通的。

有沒有解決方案?

+1

就想通了,我只需要將主鏈接文本放置在鏈接跨度外的跨鏈接和子鏈接文本中,如: 'Link textsub-text' 和CSS:'a:hover {text-decoration:none;} a:hover span {text-decoration:underline; }' 這對我有效。 – wzazza 2011-12-30 16:01:58

+1

相關:[CSS文本修飾屬性不能被子元素覆蓋](http://stackoverflow.com/questions/4481318/css-text-decoration-property-cannot-be-overridden-by-child-element)和[我如何讓這個CSS文本修飾覆蓋工作?](http://stackoverflow.com/questions/1823341/how-do-i-get-this-css-text-decoration-override-to-work) - 這些問題解釋了爲什麼'span'中的'text-decoration none'不起作用。所以是的,你的解決方案几乎是解決這個問題的唯一方法。 – BoltClock 2011-12-30 17:28:34

回答

5

添加鏈接文字(您想文本用下劃線來飾)內<span>和子文本之外的正常鏈接文本,像:
<a href="#"><span>Link text</span>sub-text</a>

爲了裝點鏈接文本使用:

a:hover { 
    text-decoration:none; 
} 
a:hover span { 
    text-decoration:underline; 
} 
0

另一種解決方案是使用,而不是下劃線作爲標識的顏色:

<a id="outer-link" href="#"> 
    Outer text <span id="inner-text">inner text</span> more outer text. 
</a> 

<style> 
    a { text-decoration: none; } 
    #outer-link:hover { color: green; } 
    #outer-link:hover #inner-text { color: red; } 
</style> 
+0

是的,它可以,也可以是大膽,斜體,大寫等,請不要發佈一切可能的方式,問題只是強調。謝謝。 – wzazza 2012-01-09 13:57:38

1

在Si多解決方案是使用colorborder屬性,而不是text-decoration。您需要首先設置text-decoration: none,然後使用border-bottom作爲所有鏈接的下劃線。

的style.css

a, a:link, a:visited 
{ 
color: #11bad3; 
text-decoration: none; 
border-bottom: 1px solid #11bad3; 
} 

a:hover, a:active 
{ 
background: #00a9c2; 
border-color: #00a9c2; 
color: #fff; 
} 

print.css

a, a:link, a:visited 
{ 
border-bottom: 0px; 
} 

的index.html

<link rel="stylesheet" href="assets/css/style.css" type="text/css" media="all"> 
<link rel="stylesheet" href="assets/css/print.css" type="text/css" media="print"> 
0

我知道這是一個OL但是由於我只是遇到了同樣的問題,並提出了一個解決方案,所以我想我會寫它。的

而不是使用文本修飾嘗試:下劃線,而不是僅僅使用底部邊框:1px的固體#000,這樣一來,你可以簡單地說,下邊框:無,