CSS - Ссылки: Полное руководство для начинающих

Здравствуйте, будущие веб-разработчики! Сегодня мы погружаемся в奇妙ный мир CSS ссылок. Как кто-то, кто teaches это уже много лет, я могу告诉你, что овладение ссылками похоже научение завязывать шнурки - сначала это кажется сложным, но как только ты это освоишь, ты будешь удивляться, как ты жил без этого!

CSS - Links

Понимание состояний ссылок

Прежде чем мы перейдем к коду, давайте поговорим о состояниях ссылок. Представьте ссылки как хамелеонов - они изменяют свой вид в зависимости от того, как мы с ними взаимодействуем. Есть четыре основных состояния:

  1. a:link - Обычная, не посещенная ссылка
  2. a:visited - Ссылка, которую пользователь уже посещал
  3. a:hover - Ссылка, когда пользователь наводит на нее курсор
  4. a:active - Ссылка в момент щелчка

Вот удобная таблица, чтобы запомнить эти состояния:

Состояние Описание
a:link Обычная, не посещенная ссылка
a:visited Ссылка, которую пользователь уже посещал
a:hover Ссылка, когда наводят курсор
a:active Ссылка в момент щелчка

Условные стили ссылок

По умолчанию браузеры стилизуют ссылки определенным образом. Вы, наверное, заметили:

  • Не посещенные ссылки синие и подчеркнутые
  • Посещенные ссылки фиолетовые и подчеркнутые
  • Активные ссылки红色

Но не волнуйтесь, мы собираемся это изменить!

CSS Ссылки - Основной пример

Давайте начнем с простого примера:

a {
color: #FF0000;
text-decoration: none;
}

Этот код сделает все ваши ссылки красными и удалит подчеркивание. Pretty neat, right? Давайте разберем это:

  • a выбирает все элементы ссылок
  • color: #FF0000; устанавливает цвет на красный
  • text-decoration: none; удаляет подчеркивание

CSS Ссылки - Стилизация некоторых ссылок

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

/* не посещенная ссылка */
a:link {
color: #FF0000;
}

/* посещенная ссылка */
a:visited {
color: #00FF00;
}

/* ссылка при наведении курсора */
a:hover {
color: #FF00FF;
}

/* выделенная ссылка */
a:active {
color: #0000FF;
}

Этот код даст вам:

  • Красные не посещенные ссылки
  • Зеленные посещенные ссылки
  • Розовые ссылки при наведении курсора
  • Синие ссылки при щелчке

Помните, порядок имеет значение! Correct order is: link, visited, hover, active. Я люблю запомнить это как "LoVe HAte" (Link, Visited, Hover, Active).

Добавление иконок на ссылки

Хотите сделать ваши ссылки еще более заметными? Давайте добавим иконки!

Во-первых, вам нужно иметь изображение иконки. Давайте представим, что у нас есть маленькая стрелочная иконка под названием 'arrow.png'.

a {
background: url('arrow.png') no-repeat left center;
padding-left: 20px;
}

Этот код добавит стрелочную иконку слева от текста вашей ссылки. padding-left обеспечивает то, чтобы текст не перекрывал иконку.

CSS Ссылки - Добавление иконок

Давайте поднимем планку и добавим разные иконки для разных типов ссылок:

/* Добавление иконки к внешним ссылкам */
a[href^="http"] {
background: url('external-link.png') no-repeat right center;
padding-right: 20px;
}

/* Добавление иконки PDF к ссылкам на PDF-файлы */
a[href$=".pdf"] {
background: url('pdf-icon.png') no-repeat right center;
padding-right: 20px;
}

Этот код сделает следующее:

  • Добавит иконку внешней ссылки к ссылкам, начинающимся с "http"
  • Добавит иконку PDF к ссылкам, заканчивающимся на ".pdf"

Ссылки как кнопки

Иногда вы хотите, чтобы ваши ссылки выглядели как кнопки. CSS делает это легко!

.button-link {
background-color: #4CAF50;
border: none;
color: white;
padding: 15px 32px;
text-align: center;
text-decoration: none;
display: inline-block;
font-size: 16px;
margin: 4px 2px;
cursor: pointer;
}

Теперь любая ссылка с классом "button-link" будет выглядеть как стильная зеленая кнопка!

CSS Ссылки - Ссылки как кнопки

Давайте сделаем наши button-links еще более интерактивными:

.button-link {
background-color: #4CAF50;
border: none;
color: white;
padding: 15px 32px;
text-align: center;
text-decoration: none;
display: inline-block;
font-size: 16px;
margin: 4px 2px;
cursor: pointer;
transition: background-color 0.3s ease;
}

.button-link:hover {
background-color: #45a049;
}

.button-link:active {
background-color: #3e8e41;
}

Этот код сделает следующее:

  • Создаст зеленую кнопку-ссылку
  • Затенит кнопку слегка при наведении
  • Затенит ее еще больше при щелчке
  • Добавит эффект плавного изменения цвета

И все! Теперь у вас есть знания для создания потрясающих, интерактивных ссылок, которые оживят ваши веб-страницы. Помните, практика делает мастера, так что не бойтесь экспериментировать с разными стилями и kombinaciyami.

Как я всегда говорю своим студентам, CSS как готовка - вы начинаете с базовых ингредиентов (свойств), но именно их kombinirovanie создает шедевр. Так что идите и создавайте свои CSS шедевры!

Credits: Image by storyset