在阅读 CSS Mastery Advanced Web Standards Solution (Second Edition) 这本书时 (中文名:精通CSS) 学到了一种以前从未使用过的伪类,结合书中的内容和网上的文章,举一个实战中可以运用到的例子
:target
伪类与锚点#
和id选择器密切相关
“:target
CSS 伪类 代表一个唯一的页面元素(目标元素),其ID与当前URL片段匹配 .” –from MDN
下面举一个切换标签的实例有助于理解
样式
代码
<div class="tab-box">
<div class="tab" id="tab1">Tab1 无需JS</div>
<div class="tab" id="tab2">Tab2 css :target伪类</div>
<div class="tab" id="tab3">Tab3 标签切换效果</div>
<div class="button-box">
<a href="#tab1" class="button">Tab1</a>
<a href="#tab2" class="button">Tab2</a>
<a href="#tab3" class="button">Tab3</a>
</div>
</div>
.tab-box{
position: relative;
width: 200px;
height: 130px;
}
.tab{
background: aliceblue;
width: 100%;
height: 100%;
border: gray solid 2px;
border-radius: 5px;
position: absolute;
}
.button-box{
position: absolute;
bottom: -28px;
left: 5px;
}
.button{
display: inline-block;
margin-left: 5px;
padding-left: 4px;
padding-right: 4px;
text-decoration: none;
color: #000000;
background: aliceblue;
border: gray solid 2px;
border-top: none;
border-bottom-left-radius: 8px;
border-bottom-right-radius: 8px;
}
#tab1:target, #tab2:target, #tab3:target{
z-index:1;
}
原理
用绝对定位使三个标签重叠,并在标签上增加锚点,用<a>
标签链接定位到锚点,并在样式中ID选择器上加上:tanget伪类
使id与<a>
标签上的链接匹配时,即:tanget伪类
激活,设置z-index: 1
此时选中的标签覆盖其他标签,在上层显示。
文档
w3school中文 http://www.w3school.com.cn/cssref/selector_target.asp
MDN中文 https://developer.mozilla.org/zh-CN/docs/Web/CSS/:target
转载文章,版权归作者所有,转载请联系作者。作者:,来源: