2010-06-04 3 views
5

Возможно ли иметь непрерывную ссылку, где текст обычно подчеркивается при наведении курсора мыши, но в середине есть раздел (например, изображение) без этого подчеркивания? Это не работает:CSS: Пропустить подчеркивание в части ссылки

<a href="#">one <span style="text-decoration:none;">two</span> <img src="img.png" style="border:0px; text-decoration:none;"> three</a> 

ответ

1

То, что я действительно хотел, чтобы изображение «прикрепленный» к ссылкам, без его получения подчеркнуто при наведении курсора мыши. Вот решение, которое я придумал:

<a href="#" style="background:url('pic.png') no-repeat; background-position: left center; padding-left: 20px;">Link</a> 
  • обивка левого для взаимозачета текста, чтобы он не перекрывал изображения.
  • С background-position вы можете переместить изображение, чтобы оно стало лучше совпадало с текстом.
  • Если изображение выше, чем текст обивка-топ и обивка дна может быть использован для настроить внешний вид.

Этот метод также может быть использован с CSS спрайтов как это:

<a href="#" style="background:url('sprites.png') no-repeat; background-position: -16px -16px; padding-left: 32px;">Link</a> 

Я использовал подобную технику, чтобы использовать CSS спрайты вместо обычных встроенных изображений:

<span style="background:url('sprites.png') no-repeat; background-position: -16px -16px; padding-left: 32px;"></span> 

Надежда это помогает кому-то

2
<a href="#" style="text-decoration:none;"> 
    <span style="text-decoration:underline;">one</span> 
    two 
    <img src="img.png" style="border:0px; text-decoration:none;"> three 
</a> 

Я думаю, что это может быть возможно только при использовании JavaScript следующим образом.

ВЗГЛЯД Следующий пример

<html> 
<head></head> 
    <style> 
    a{ 
     text-decoration:none; 
    } 

    a:hover 
    { 
     text-decoration:none; 
    } 

    .sample 
    { 
     text-decoration:underline; 
    } 

    .sample_none 
    { 
     text-decoration:none; 
    } 
    </style> 
    <script type="text/javascript"> 
     function show_underline(){ 
     document.getElementById('sample').className= 'sample'; 
     } 

     function hide_underline(){ 
     document.getElementById('sample').className= 'sample_none'; 
     } 
    </script> 
    <a href="#" onmouseover="show_underline();" onmouseout="hide_underline();"> <span id="sample" class="sample_none">two</span> 
    <img src="img.png" style="border:0px;"> three 
    </a> 


</body> 
</html> 

P.S. Я хотел бы знать, если это возможно с помощью CSS и HTML только

+0

Это заставит подчеркивание быть на все время. И если я создаю специальный класс для обработки зависания, он разрушит непрерывную ссылку. – Biggles

+0

, пожалуйста, вставьте свой код после его завершения. Я хотел бы знать, как вы справляетесь с зависанием. neways Really Good Question :) – Salil

+0

Salil: После дальнейших испытаний я обнаружил, что это не решило мою проблему. – Biggles

3
a, a:hover { text-decoration: underline; } 
a img, a:hover img { text-decoration: none !important; } 
+0

как я могу сделать, если я хочу подчеркнуть на трех, а не на двух после зависания? – Salil

+0

Стили: a, a: hover {text-decoration: underline; } a img, a: hover img, span.two {text-decoration: none! Important; border: 0; } и разметка: one two three eyelidlessness

+0

Невозможно заставить их работать. Изображение все еще подчеркнуто. – Biggles

Смежные вопросы