首先得知道一个知识点,就是锚点。锚点就是a
标签中的href
属性指向某个元素的id
,点击后浏览器会滚动到该元素的位置
:target
伪类就是根据a
标签上href
的属性锚点,为对应的元素添加样式
下面看一个案例,点击test2
标签,看有什么变化
<div>
<a href="#test1">test1</a>
<a href="#test2">test2</a>
<a href="#test3">test3</a>
</div>
<div class="test">
<div id="test1"></div>
<div id="test2"></div>
<div id="test3"></div>
</div>
css样式
.test div{
width: 100px;
height: 200px;
border: 1px solid palegreen;
}
.test div:target{
background:red;
}
点击前每个div
是没有背景色的
点击test2
后,test2
背景色变成红色,并且根据锚点滚动到test2
锚点会在url
加上hash
,所以单页面应用hash
模式下应该注意这个问题