Css ссылки

( 0 - user rating )
Как известно залог успеха любого сайта в интернете заключается в его уникальности. Каждому, кто создает свой сайт, хочется, чтоб его сайт был не похожим на другие сайты, чтоб в оформлении была изюминка. К сожалению, с помощью одного лишь css, без использования хаков очень сложно создать оригинальное оформление для сайта. Но тем не менее при желании и знании уловок css это возможно. В этой статье я покажу как можно сделать разноцветные css ссылки, то есть задать цвет, шрифт и прочие текстовые свойства для любого символа или части ссылки.
Вся сложность создания разноцветных ссылок заключается в том, что не все браузеры поддерживают свойство :hover для других элементов кроме <a>, что налаживает определенные ограничения. Но и этот недостаток можно обойти не нарушая правил описанных w3c, а точней почти не нарушая. Нужный нам эффект достигается использованием вложенности элементов внутри тега <a>, но обо всем по порядку.

Рассмотрим по шагам создание красивых css ссылкок:

С чего начать?

Весь путь создания красивых цветных css ссылкок начинается с создания обычной ссылки средствами html и css.
a.example {
color:#00f;
text-decoration:none;
}
a.example:hover {
color:#00f;
text-decoration:underline;
}
<a href="#" class="example">css ссылка</a>
В результате мы получим самую обычную ссылку с обычным оформлением при наведении курсора:

Вложеные css элементы

Для создания уникального красивого оформления ссылок мы можем использовать вложенные элементы внутри тега <a>.
<a href="#" class="example">css <span>ссылка</span></a>
Простое добавление инлайн элементов в тег <a> фактически нам ничего не дает и оформление ссылки остается прежним. Чтоб, что то изменилось нам нужно описать стили для вложенного элемента <span>
a.example span{
color:#f00;
text-decoration:none;
}
a.example:hover span{
color:#00f;
text-decoration:underline;
}
После этого наша css ссылка обретает уникальный стиль.

Продолжаем влаживать элементы...

Дальше давайте вложим еще один элемент <span> в ранее созданный <span>.
<a href="#" class="example">css <span><span>сс</span>ылка</span></a>
И добавим в стилях описание для него:
a.example span span{
color:#0c0;
text-decoration:none;
}
a.example:hover span span{
color:#f00;
text-decoration:underline;
}
Теперь разнообразие цветов в нашей ссылке становится еще больше:

Последнее вложение css элементов

<a href="#" class="example">css <span><span><span>с</span>с</span>ылка</span></a>
И соответсвенно добавляем стили для этого уровня вложенности:
a.example span span span{
color:#f90;
text-decoration:none;
}
a.example:hover span span span{
color:#0c0;
text-decoration:underline;
}
И теперь мы имеем разноцветную ссылку вида:
Вложение элементов друг в друга можно продолжать до бесконечности, но я думаю, что и этого должно хватить для наглядности создания оригинального оформления css ссылки.

Выводы

Рассмотренный выше пример не претендует на то, чтоб назвать созданную ссылку очень красивой - это все лишь пример иллюстрирующий возможности вложения элементов в тег ссылки. К примеру можно добится очень симпатичного эффекта, если изменять размер шрифта для частей ссылки.

Плюсы данного метода:
  1. Позволяет создать оригинальный стиль для ссылок.
  2. Позволяет визуально разбить текст ссылки на логические части.
К минусам можно отнести:
  1. Бесполезность для SEO оптимизации сайта.
  2. Сложность использования для автоматической генерации ссылок.
  3. Большая нагруженность ссылки.

Комментарии  

 
+2 # Алексей 2009-03-18 01:59 Спасибо 2 месяца искал решения Ответить | Ответить с цитатой | Цитировать
 
 
+1 # Евгений 2009-03-18 04:56 Вроде w3c не допускает какой либо вложенности , или я что-то путаю? Ответить | Ответить с цитатой | Цитировать
 
 
+1 # Tane4ka 2009-04-16 17:20 Здравствуйте! все конечно замечательно, но не могли бы вы рассказать о более сложных примерах? нужно чтобы при наведении у ссылки появлялся фон в виде картинки. Не в виде background-color, а именно в виде background: url('/imgs/a-active.png') no-repeat 0 0. Это свойство использую в навигации в хедере. Но вся сложность в том, что ширина этой картинки должна меняться. Н-р, для ссылки ФОТО и ссылки КАТАЛОГ ПРОДУКЦИИ, картинка то сужается, то расширяется. Как это организовать?
заранее благодарю и с нетерпением жду ответа!
Ответить | Ответить с цитатой | Цитировать
 
 
0 # ni_x 2009-04-16 19:02 Здравствуйте. В комментариях к статьям вообще то не обсуждаются конкретные моменты в верстке. Для этого есть наша социальная сеть, где Вы можете задать вопрос и на него я обязательно отвечу. Регистрируйтесь на cssclub.ru и в своем персональном блоге задавайте этот вопрос, да и вообще все, что интересует. Буду стараться ответить на все вопросы.
А также уточните пожалуйста свой вопрос, а именно:
Покажите картинку которая будет использоваться в качестве фона, от этого многое зависит.
Ответить | Ответить с цитатой | Цитировать
 
 
+1 # Евгений 2009-04-19 12:53 Танечка, это можно с легкостью сделать с помощью небольшого Ява скрипта. Ответить | Ответить с цитатой | Цитировать
 
 
+1 # Tane4ka 2009-04-19 15:12 Евгений, спасибо) мне уже подсказали что это называется техникой раздвижных дверей. Ответить | Ответить с цитатой | Цитировать
 
 
+1 # Alex 2009-04-28 22:27 Здравствуйте,ка к сделать стрелки перед ссылками или иконки перед ссылками,где почитать ???Спасибо заранее!!! Ответить | Ответить с цитатой | Цитировать
 

Добавить комментарий


Защитный код
Обновить

Переводы


Поддержи связь со своим клиентом - рассылка sms. SMS-уведомления о курсах валют. . Камень для облицовки: облицовка фасадов натуральным камнем.

Selectutorial

Селекторы в действии

listutorial

Изображения для маркеров списка

css screencast