Условные ссылки на другие HTML-страницы - PullRequest
0 голосов
/ 19 сентября 2019

Я новичок в HTML/CSS и в этом проекте намереваюсь создать простую веб-страницу таким образом, чтобы каждая страница ссылалась на три другие HTML страницы.

<div id="mySidenav" class="sidenav">
    <a href="homePage.html" id="homePage">Home Page</a>
    <a href="about.html" id="about">about</a>
    <a href="projects.html" id="projects">Projects</a>
    <a href="contact.html" id="contact">Contact</a>
</div>

Мои вопросы :

  1. Можно ли ссылаться на другие страницы, кроме самой страницы, посредством программирования (написать, если page_name == link.html затемисключить это из ссылок)?например, я хочу сообщить своему HTML, что, если я нахожусь на странице «о», не добавляйте ссылку на эту страницу.
  2. Если это возможно, как я могу заполнить собственную ссылкукнопка без использования JS.

Ответы [ 2 ]

0 голосов
/ 19 сентября 2019

Короткий ответ - нет.HTML не является языком программирования и не имеет управления потоком или логических возможностей.Этого можно добиться с помощью рендеринга на стороне сервера ( express или php или любого другого) или статической генерации сайта ( gatsby и т. Д.).

В противном случае вы могли бы (конечно) соответствующим образом изменить навигацию на каждой странице, но я понимаю и согласен, что это не идеально.

Это немного натянуто, но вы можете сделать ссылку на homePage.html#homePageи используйте CSS :target pseudo-selector, чтобы скрыть текущий элемент или назначить ему специальную обработку CSS, но это своего рода хрупкий взлом, и он сломается, если фрагмент (#homePage, #projects и т. д.) не будет 'отсутствует в URL браузера.

0 голосов
/ 19 сентября 2019

Да, это возможно.Во-первых, вы должны знать о PHP.Затем получите URL текущей страницы по $_SERVER['REQUEST_URI'].Если текущий URL-адрес страницы соответствует вашей ссылке, например about.html, тогда игнорируйте ссылку для той же текущей страницы.

В противном случае вы можете создать отдельную страницу с игнорированием ссылки.Например, когда вы на странице игнорируете эту ссылку.

...