Кратко
СкопированоЕсть ссылки которые ведут не просто на страницу, а на конкретный HTML-элемент внутри. Псевдокласс :target
управляет стилем этого элемента.
Как пишется
СкопированоПосле любого селектора ставим двоеточие и пишем ключевое слово target.
.title { color: black;}.title:target{ color: pink;}
.title { color: black; } .title:target{ color: pink; }
p:target::before { content: ''; font-size: 10px; color: yellow;}
p:target::before { content: ''; font-size: 10px; color: yellow; }
Как понять
СкопированоБраузер видит идентификатор в адресной строке — он идёт после символа # — и находит HTML-элемент, у которого такой же id. Стилем этого элемента и управляет псевдокласс :target
.
Пример
СкопированоСейчас в адресной строке такой URL:
https://doka.guide/html/a/#podskazki
Движок находит элемент с id «podskazki» и подставляет ему дополнительный автоматический класс, чтобы пометить изменение состояния.
<div class="container" id="podskazki"> <h2>Подсказки</h2></div>
<div class="container" id="podskazki"> <h2>Подсказки</h2> </div>
.container { background-color: white;}.container:target { background-color: yellow;}
.container { background-color: white; } .container:target { background-color: yellow; }
Этому классу мы можем задавать любые стили, подходящие по дизайну.
Когда мы перейдём по другому якорю и ссылка сменится, то и все свойства :target
перейдут со старого элемента на новый. При этом логика подставления или удаления этого класса скрыта под капотом движка браузера.