-
Не подскажете, есть ли способ подчеркиванием элементов в ссылках
Пример кода:
Нужно чтобы при наведении Название подчеркивалось, а адрес нет.<a href='#'>
<span class='name'>Название</span><br />
<span class='addr'>Адрес</span>
</a>
Пробовал такой вариант:
Работает везде, кроме IE<style>
a:hover{
text-decoration: none;
}
a:hover span.addr {
text-decoration: none;
}
a:hover span.name {
text-decoration: underline;
}
</style>
Если так:
в IE работает как задумано, но в FF подчеркивается все, т.е. правило игнорируется почему то<style>
a:hover span.addr {
text-decoration: none;
}
</style>
Существует ли решение для всех браузеров?
Заранее спасибо
P.S. Иван, круто вы форум переделали :) -
То, что во втором случае в FF подчеркивается все — это верно. По стандарту
text-decoration: noneне должен перекрыватьсяunderlineот родительского элемента. То есть черточка подspan.addrв FF — это не своя собственная, а это черточка от верхнего<a>:-)У меня было ощущение, что в IE это тоже все починено, но только в стандартном режиме, то есть при включенном DOCTYPE каком-нибудь. Мы, кстати, о какой версии говорим?
-
У меня указано так:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
Т.е. underline перекрывает none родителя, а наоборот - нет?
Спасибо, что подредактировали мой пост, было бы супер, если была бы кратенькая инструкция по возможностям оформления + редактирование своих постов -
Или вы про версии IE?
в IE6/7 не работает первый вариант
в FF2/3 - второй -
Похоже на то, что в IE баг, ибо в таком коде:
просто у ссылок все OK во всех браузерах, т.е. вторая подчеркивается<style>
a {
text-decoration:none
}
a:hover {
text-decoration:none
}
a span.addr {
text-decoration:underline
}
a:hover span.name {
text-decoration:underline
}
</style>
<a href='#'>
<span class='name'>test span 1</span> <br />
<span class='addr'>test span 1</span>
</a>
а вот :hover в IE не подчеркивает первую (без DOCTYPE - тоже самое) -
Т.е. underline перекрывает none родителя, а наоборот - нет?
Ну да, вполне логичная имитация. Напишите на бумаге два слова, не подчеркивая их. Потом подчеркните только одно — подчерк виден. Потом напишите на бумаге два слова, подчеркнув оба. Потом не подчеркивайте одно из них — подчерк ведь не пропал? :-)
Спасибо, что подредактировали мой пост, было бы супер, если была бы кратенькая инструкция по возможностям оформления + редактирование своих постов
Форум все время в процессе доделывания, там дальше предпросмотр будет. Но вообще, под окном редактирования написано, в каком синтаксисе можно писать. По умолчанию — обычный bbcode.
Похоже на то, что в IE баг
Наверное... Не видел такого ни разу.
А если отказаться от text-decoration, а воспользоваться нижним border'ом?
-
Фишка в том, что с border-bottom такая же фигня :)
Но я неумышленно обманул вас, сказав что это поведение в IE 6/7. Не знаю куда я смотрел, но в IE7 все работает как надо. Остается проблема с IE6, но ее я так понимаю по нормальному не решить, потому для него отдельный css.
Итогом вот такое решение, для тех кому может понадобиться
думаю так оптимально, а главное работает :)CSS: (for FF/Opera/IE7)
a {
text-decoration: none
}
a:hover {
text-decoration: none
}
a:hover span.name {
text-decoration: underline
}
CSS2: for IE6
<!--[if lte IE 6]>
a:hover {
text-decoration:underline;
}
a:hover span.addr {
text-decoration:none;
}
<![endif]--> -
Тоже вариант... А я на IE6 уже бы забил :-). Пусть себе глючит помаленьку, ведь доступу к контенту такой баг не мешает. Надо потихоньку и хоронить старые браузеры.
-
Иван, спасибо, последний вопрос —
А как у вас тут зарегестрироваться? :) -
Вписать своей OpenID в поле имени при постинге. Или в корне форума внизу справа. Или на специальной странице, где есть очень краткая инструкция: http://softwaremaniacs.org/forum/users/login/
