a: активная ссылка a href не работает

#html #css

#HTML #css

Вопрос:

Я пытаюсь применить css к ссылке a href, в основном мне нужно применить тот же стиль, что и при наведении курсора мыши при нажатии на ссылку a href, чтобы указать пользователям, на какой странице они находятся. есть идеи?

Комментарии:

1. Мне кажется забавным, когда люди называют a элемент «a href». Хотя, я думаю, это не так плохо, как ссылаться на img как на «img src».

2. ДА.. я знаю .. я обычно использую термин «привязка» на своем рабочем месте! просто попытался прояснить это, поэтому я использовал слово «a href»

Ответ №1:

:active означает «При нажатии (или иной активации)». Это не означает «Ссылку на текущую страницу». Самое близкое, что есть в CSS для этого, — это :target (который предназначен для определенной точки в документе, а не для документа в целом).

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

Комментарии:

1. не могли бы вы, пожалуйста, привести мне пример?

Ответ №2:

:active Псевдокласс означает, что элемент активируется пользователем. Это срабатывает при нажатии на ссылку, но не сообщает вам, на какой странице пользователь находится в данный момент.

Утомительное решение, выполняемое вручную

Вы могли бы вручную просмотреть каждую страницу вашего веб-сайта и в своей навигации добавить класс на текущую страницу. Например, на странице «О нас» навигация может выглядеть следующим образом:

 <ul id="navigation">
    <li><a href="/index.html">Home</a></li>
    <li><a href="/about.html" class="current-page">About Us</a></li>
    <li><a href="/contact.html">Contact</a></li>
</ul>
  

Затем на странице контактов вы должны удалить current-page класс из ссылки «О нас» и добавить его в ссылку «Контакт». Проблема с этим решением заключается в том, что оно требует большого количества ручных правок в вашем коде, что может быть болезненным, если вы управляете большим сайтом.

Автоматизированное решение на стороне клиента

Лучшим решением может быть использование Javascript для синтаксического анализа текущей страницы по URL-адресу и автоматического добавления нужного класса к соответствующей ссылке. Код jQuery мог бы выглядеть примерно так (предполагая тот же html, что и выше):

 <script type="text/javascript">
$(document).ready(function() {
    var urlParts = window.location.pathname.split("/"),
        // get the last section of the url
        currentPage = urlParts[urlParts.length - 1];

    $("#navigation a[href*="   currentPage   "]").addClass("current-page");
});
</script>
  

Ответ №3:

Для этого вам нужно будет добавить класс (например: active, selected и т.д.) К привязке, которую вы хотите оформить. A: active «срабатывает» только при нажатии на ссылку, она не «запоминает» страницу, на которой вы находитесь.

Ответ №4:

a:active будет работать, только если вы нажмете на эту ссылку и откроете страницу в новом окне / вкладке, означает, что текущую страницу не следует изменять, иначе a:active не будет работать….