Как задать определенное свойство css каждой странице php?

Доброго дня! Делаю многостраничный сайт и столкнулся с проблемой. Т.к. У меня имеется меню со стилевым оформлением, у активной страницы на которой находится пользователь, прописан border.
На html страничках элементу li я просто задаю класс active в котором прописан border, а если же я подключу шапку ко всем страницам ничего толкового не выйдет. Как сделать так, что бы в зависимости от страницы, в html теги прописывался стиль active? Или же как-то по другому это можно реализовать?
  • Вопрос задан
  • 219 просмотров
Решения вопроса 1
netgoblin
@netgoblin
В независимости от фреймовра или ЦМС, которую Вы используете для разработки сайта, для уникальной идентификации каждой отдельной страницы имеется некоторая переменная, которая хранит id текущей страницы. Вы должны проверить значение этой переменной на каждом пункте меню, и там где значение переменной совпадает с id пункта меню (не путать с хтмл атрибутом) добавить класс "active".

Пример (для чистого PHP):
Допустим есть страница: www.domain.com/index.php?page=about
Идентификатор текущей страницы - "about", он хранится в переменной "page".
При выводе меню:
<ul>
    <li <?php if ($_GET['page']=='index') echo 'class="active"' ?>>Главная</li>
    <li <?php if ($_GET['page']=='new') echo 'class="active"' ?>>Какая-то страница</li>
    <li <?php if ($_GET['page']=='about') echo 'class="active"' ?>>О сайте</li>
</ul>
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Ankhena
@Ankhena Куратор тега CSS
Нежно люблю верстку
Все очень просто с использованием библиотеки jQuery: вы просто находите на странице ссылку, атрибут href которой равен window.location.pathname и добавляете к этой ссылки какой-то класс или стиль, чтобы выделить её:
$('.menu a[href="' + window.location.pathname + '"]').addClass('active_menu');


На PHP сравниваете href у ссылки и $_SERVER['REQUEST_URI'] и добавляете класс.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы