2011-12-30 29 views
5

Tôi có liên kết như:chữ trang trí cho liên kết và chiều dài bên trong liên kết này

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

Khi lơ lửng Tôi cần điều đó văn bản bên trong khoảng không trang trí bằng gạch dưới (nhưng văn bản liên kết chính là). Có thể không? Tôi đã thử:

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

Điều này không hoạt động.

Có giải pháp nào cho vấn đề này không?

+1

Chỉ cần hình dung nó ra, tôi chỉ cần để đặt văn bản liên kết chính bên trong khoảng thời gian và văn bản liên kết bên ngoài phạm vi liên kết như: 'Link textsub-text' và CSS: 'a: hover {text-decoration: none;} a: hover span {text-decoration: underline; } ' Điều này phù hợp với tôi. – wzazza

+1

Related: [Thuộc tính trang trí văn bản CSS không thể bị ghi đè bởi phần tử con] (http://stackoverflow.com/questions/4481318/css-text-decoration-property-cannot-be-overridden-by-child-element) và [Làm cách nào để tôi ghi đè trang trí văn bản CSS này?] (Http://stackoverflow.com/questions/1823341/how-do-i-get-this-css-text-decoration-override-to-work) - những câu hỏi này giải thích tại sao 'text-decoration none' bên trong' span' không hoạt động. Vì vậy, có, giải pháp của bạn là khá nhiều cách duy nhất để có được xung quanh này. – BoltClock

Trả lời

5

Thêm link text (văn bản mà bạn muốn được trang trí bằng gạch dưới) bên <span> và các tiểu văn bản bên ngoài dưới dạng văn bản liên kết bình thường, như:
<a href="#"><span>Link text</span>sub-text</a>

Để trang trí liên kết sử dụng văn bản:

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

Một giải pháp khác là sử dụng màu sắc thay vì gạch dưới như nhận dạng của bạn:

<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

Có thể, cũng có thể in đậm, in nghiêng, viết hoa, v.v., vui lòng không đăng mọi cách có thể, câu hỏi chỉ là về gạch chân. Cảm ơn bạn. – wzazza

1

Một si giải pháp phức tạp là sử dụng các thuộc tính colorborder thay vì text-decoration. Trước tiên, bạn cần đặt text-decoration: none và sau đó sử dụng border-bottom làm gạch dưới cho tất cả các liên kết của mình.

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

Tôi biết đây là một ol d bài viết, nhưng kể từ khi tôi chỉ có cùng một vấn đề, và đã đưa ra một giải pháp, tôi figured tôi sẽ viết nó anyways.

Thay vì cố gắng sử dụng text-decoration: underline, thay vì chỉ sử dụng border-bottom: 1px solid # 000, theo cách này, bạn có thể chỉ đơn giản là nói border-bottom: none,

Các vấn đề liên quan