Ссылки
Для управления видом различных ссылок в CSS используются псевдоклассы, которые указываются после селектора A через двоеточие. В табл. 1 приведены допустимые псевдоклассы и их описания.
| Свойство | Описание |
|---|---|
| A:link | Определяет стиль для обычной непосещенной ссылки. |
| A:visited | Определяет стиль для посещенной ссылки. |
| A:active | Определяет стиль для активной ссылки. Активной ссылка становится при нажатии на нее. |
| A:hover | Определяет стиль для ссылки при наведении на нее мышью. |
Обычно использование псевдокласса link имеет тот же эффект, что и применение стиля к селектору A. Поэтому этот псевдокласс можно опустить.
Ссылки без подчеркивания
Одно из наиболее популярных применений CSS — это скрытие подчеркивания у ссылок. С позиции юзабилити не совсем верное решение, поскольку пользователь может сразу не догадаться, что текст, который он видит, является ссылкой. Все ведь уже привыкли — раз подчеркивание используется, значит это ссылка. Но при правильном применении отсутствие подчеркивания у ссылок может придать определенный эффект сайту. Часто делается, что при наведении курсора, ссылка становится подчеркнутой, меняет свой цвет или используется и тот и другой эффект одновременно (пример 1).
Пример 1. Подчеркивание у ссылки и изменение ее цвета
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Ссылки</title>
<style type="text/css">
A:link {
text-decoration: none; /* Убирает подчеркивание для ссылок */
}
A:visited { text-decoration: none; }
A:active { text-decoration: none; }
A:hover {
text-decoration: underline; /* Делает ссылку подчеркнутой при наведении на нее курсора */
color: red; /* Цвет ссылки */
}
</style>
</head>
<body>
<p><a href="link.html">Пример ссылки</a></p>
</body>
</html>
Ниже приведено использование данного примера. При наведении курсора на ссылку, она становится подчеркнутой и красной.
Подчеркнутые и надчеркнутые ссылки
Еще один пример демонстрирует использование в ссылках подчеркивания и надчеркивания одновременно. При этом эффекте тонкие линии будут появляться над и под ссылкой при наведении на нее курсора. Это достигается применением параметра text-decoration: underline overline в селекторе A:hover.
Пример 2. Использование подчеркивания в ссылках
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Ссылки</title>
<style type="text/css">
A:link { text-decoration: none; }
A:visited { text-decoration: none; }
A:active { text-decoration: none; }
A:hover {
text-decoration: underline overline; /* Ссылка подчеркнутая и надчеркнутая */
color: red; /* Цвет ссылки */
}
</style>
</head>
<body>
<p><a href="link.html">Пример ссылки</a></p>
</body>
</html>
Результат данного примера показан ниже.
Изменение размера ссылки
Пример 3 показывает, как изменять размер ссылки при наведении на нее курсора.
Пример 3. Изменение размера ссылки
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Ссылки</title>
<style type="text/css">
A:link { text-decoration: none; }
A:visited { text-decoration: none; }
A:active { text-decoration: none; }
A:hover {
font-size: 24px; /* Размер шрифта */
font-weight: bold; /* Жирное начертание */
color: red; /* Цвет ссылки */
}
</style>
</head>
<body>
<p><a href="link.html">Пример ссылки</a></p>
</body>
</html>
Результат данного примера показан ниже.
Изменение цвета подчеркивания
Со ссылками, при помощи CSS, можно сделать интересную особенность. Цвет ссылки, при наведении на нее курсора мыши, остается неизменным, но зато у нее появляется подчеркивание другого цвета, нежели сама ссылка (пример 4). Учтите, что данный прием не работает в некоторых браузерах.
Пример 4. Создание подчеркивание другого цвета
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Ссылки</title>
<style type="text/css">
A:link { color: blue; text-decoration: none; }
A:hover { color: red; text-decoration: underline; }
.link { color: blue; }
</style>
</head>
<body>
<p><a href="link1.html"><span class="link">Ссылка</span></a></p>
</body>
</html>
Результат данного примера показан ниже.
Ссылки разных цветов
Часто возникает необходимость на одной странице использовать ссылки разных цветов и размеров. И применять для каждой области веб-страницы ссылки подходящего типа. Одни для меню, другие для текста. В этом случае создаем два или больше класса со своими параметрами и применяем их по своему усмотрению. В примере 6 достаточно поменять значения у соответствующего класса, и цвета у ссылок, где этот класс используются, изменятся автоматически.
Пример 5. Ссылки разных цветов
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Ссылки</title>
<style type="text/css">
A { font-size: 14px; color: red; }
A.link1 { font-size: 12px; color: green; }
A.link2 { font-size: 14px; color: blue; }
</style>
</head>
<body>
<p>| <a href="link1.html">Ссылка 1</a> | <a href="link2.html" class="link1">Ссылка 2</a> | <a href="link3.html" class="link2">Ссылка 3</a> |</p>
</body>
</html>
Результат данного примера показан на рис. 1.

Рис. 1. Разные ссылки на одной странице
| Статья опубликована: 13.09.2005 | Последнее обновление: 16.04.2008 |
Прежде, чем писать комментарий к статье, примите во внимание следующие моменты.
- Не задавайте вопросы в комментариях, для этой цели предназначен форум, где вы получите нужную помощь.
- Удаляются любые комментарии, которые:
- включают множество ошибок;
- написаны безграмотно;
- не имеют отношения к данной статье;
- не содержат никакой полезной информации для посетителей.
- Для выделения отдельных слов используйте следующие команды: [b]жирный[/b], [i]курсив[/i], [color=цвет]цветной текст[/color], [tag]тег[/tag], [var]параметр[/var], [code]пример[/code].
- Потренироваться в написании комментариев вы можете в песочнице.
Комментарии к статье
rainman
11.04.2006
Влад Мержевич
12.04.2006
Содержимое файла index.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<link rel="stylesheet" href="site.css" type="text/css">
</head>
<body>
<a href="link1.html">Ссылка 1</a> | <a href="link2.html" class="link1">Ссылка 2</a>
</body>
</html>
Содержимое файла site.css
A { font-size: 14px; color: red }
A.link1 { color: green }
A.link1:hover { color: orange }
mujik
04.05.2006
.menu:link {font-weight : bold}
.menu.hover {font-weight : bold}
и в ссылке
<a href="" class="menu">
Влад Мержевич
04.05.2006
Саша из Посада
30.05.2006
suslichek
12.08.2006
Влад Мержевич
14.08.2006
Сергей
08.11.2006
Влад Мержевич
09.11.2006
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Пример веб-страницы</title>
<style type="text/css">
a img {
border: none;
}
a:hover img {
filter: alpha(Opacity=50); /* Прозрачность в IE */
-moz-opacity: 0.5; /* Прозрачность в Firefox */
}
</style>
</head>
<body>
<a href="#"><img src="sample.gif" alt=""></a>
</body>
</html>
Irina
27.12.2006
Доступно, понятно, и очень удобная навигация по сайту.
anna
12.01.2007
2. черные ссылки на белом фоне, также не должны меня цвет после посещения.
вторую часть сделать пока не могу, не могли бы вы помочь? (то, что у меня получилось, в некоторых браузерах(раннем эксплорере, например) отображаются некорректно.)
Иван Грозный
30.03.2007
Boris
05.05.2007
<td widht=150><a href=# style="background:url(image.jpg)">ссылка</a></td>
Что бы background был на всю длинну TD.
В IE вс? нормально, проболема в OPERA и Mazilla
Astro
06.05.2007
td.news {BEHAVIOR:url('files/tdnews.htc'); BACKGROUND-COLOR: #101001;}
td.news:hover {BACKGROUND-COLOR: gray;}
Можно ли сделать так, чтобы при наведении мыши на ячейку таблицы (td class="news") менялся цвет ссылок (a:link), нужно ли при этом писать что-то в файле files/tdnews.htc ?
Влад Мержевич
08.05.2007
Надо ссылку сделать блочной. Типа <a style="display: block">...</a>.
Влад Мержевич
08.05.2007
Добавьте в стили следующую строку
Astro
08.05.2007
Там вроде надо что-то прописывать в .htc файлах. Вот код files/tdnews.htc :
<public:attach event="onmouseover" onevent="color()" />
<public:attach event="onmouseout" onevent="restore()" />
<script language="JavaScript" type="text/javascript"><!--
function color() {
runtimeStyle.backgroundColor='gray';
}
function restore() {
runtimeStyle.backgroundColor='';
}
//--></script>
Это я использую, чтобы td.news:hover {BACKGROUND-COLOR: gray;} работало в ИЕ.
Влад Мержевич
10.05.2007
Макс
30.05.2007
Прописаны три стиля: для просто ссылки, для ховер-ссылки и для посещенной ссылки.
Допустим, мы посетили ссылку. Стиль такой, что она стала зачеркнутой.
Хочется делать так, чтобы браузер значл что она уже посещенная, но ховер все еще работал (у посещенный ссылок стиль ховер не пашет).
че делать?
Макс
30.05.2007
Далее задача сложней.
Вот стили.
a.news {
color:#000;
text-decoration:none;
}
a.news:visited {
text-decoration:line-through;
color:#ff7807;
}
a.news:hover {
color:#89A95E;
text-decoration:underline;
}
Посещенные ссылки зачеркиваются и становятся рыжими. Ховер-ссылки подчеркиваются и становятся зелеными.
Хочется сделат следующее. Чтобы непосещенная ховер-ссылка становилась подчеркнутой и зеленой, а посещенная ховер-ссылка - подчеркнутой и рыжей.
Как?
Влад Мержевич
31.05.2007
Viktor
20.07.2007
Angel
31.08.2007
ситуация такова: есть меню со ссылками, нужно дабы при посещении ссылки она окрашивалась в другой цвет (красный например), и оставалась так до перехода по другой ссылке меню, с которой происходило бы тоже самое
заранее благодарен за ответ..
Просто скажу
18.09.2007
Someone
19.09.2007
Влад Мержевич
20.09.2007
john doe
16.10.2007
прохожий
17.10.2007
.link1 a: { font-size: 12px; color: green }
и тогда
<p><a href="link2.html">Ссылка 2</a></p>
и, соответственно,
.link1 a:link
.link1 a:active
.link1 a:visited
.link1 a:hover
john doe
17.10.2007
serg
26.12.2007
как мне избавиться от дефолтных выделений и задать свой цвет или убрать линию обводки
и как это в сss прописать?
заранее благодарен
Влад Мержевич
26.12.2007
Амир
02.02.2008
div#nav a:link {
background:url(../images/nav_background.png) no-repeat;}
div#nav a:hover, a:active {
width:235px;
background:url(../images/nav_background_hover.png) no-repeat;}
Спасибо!
Амир
02.02.2008
Максим
09.02.2008
a.cont{
color: #777576;
text-decoration: none;
font-weight: 200;
font-size:11;
}
a.cont:active { text-decoration: none;
font-weight: bold;
}
при нажатие выделяется текст bold, но когда ссылка разворачивается то жирный текст пропадает. Как его зафиксировать?
серг
22.02.2008
попробуй
а.cont{
color: цвет
text-decoration: none;
font-weight: 200;
font-size:11;
}
a.cont:active {
color: цвет;
text-decoration: none;
font-weight: 200;
font-size:11;
font-weight: bold;
}
Serj
03.03.2008
На какие ссылки рапростроняются
Непойму как они действуют на ссылки без класса и с классом
Mr. Z
15.03.2008
Smailuk
28.03.2008
Слаффка
29.03.2008
Нужно использовать следующие свойства:
- onmouseover - наведенное состояние
- onmousedown - нажатое состояние
- onmouseout - мышка ушла с кнопки - нормальное состояние... src рисунка будет равен исходнику, нормальному состоянию кнопки-рисунка
- onmouseup - отпустили нажатую кнопку мыши, но курсор все еще на кнопке, вновь наведенное состояние... src этого свойства должен быть равен onmouseover...
Например:
<a href="#"><img src="images/btn-exit.gif" alt="" onmouseover="this.src='images/btn-exit-over.gif';" onmouseout="this.src='images/btn-exit.gif';" onmousedown="this.src='images/btn-exit-prs.gif';" onmouseup="this.src='images/btn-exit-over.gif';" /></a>
Лично я использую js, т.е. один раз написал функции и пользуюсь, выглядит так:
<a href="#"><img src="images/btn-exit.gif" alt="" onmouseover="onRollOver(this)" onmouseout="onRollOut()" onmousedown="onPress()" onmouseup="onRelease()" /></a>
Troyan
23.05.2008
илля
31.05.2008
Snn
01.06.2008
ну или ячейку таблицы ссылкой
делал так:
<a href="#">
<table border=1 width="100">
<tr>
<td>
<a href="#">link</a>
</td>
</tr>
</table>
</a>
но ие отказываеться такое понимать, опера и мозила понимает
Игорь...
07.06.2008
Во-вторых, таблицы делай блоками <div>...<div>.
Так оно везде работпть будет...
OverLord
15.06.2008
OverLord
15.06.2008
Cвета
18.06.2008
Lenny
19.06.2008
javeL
20.07.2008
javeL
20.07.2008
.username a:link {
color: #FFFFFF;
text-decoration: none;
}
.username a:hover {
color: #666666;
text-decoration: none
}
.username a:active {
color: #FFFFFF;
text-decoration: none;
}
.username a:visited {
color: #FFFFFF;
text-decoration: none;
}
javeL
20.07.2008
дядька
31.07.2008
Дядька
31.07.2008
В ссылках нужно отменить подчеркивание фрагментарно. Например, отменить подчеркивание для искусственных пробелов.(Ссылка из нескольких строк. После переноса строки стоят исскуственные пробелы. Нужно, чтобы пустота не подчеркивалась)
Как лучше:
1. Отменить подчеркивание для ссылки вцелом, а потом вставлять подчеркивание тегами. Или
2. Оставить подчеркивание по умолчанию и отменять по месту.
Есть ли в этих методах принципиальная разница для разных браузеров (у меня только IE)?
