前两天看到一个面试题是纯CSS实现幻灯片的效果,这里做个简单的解析:
下面是代码:
<!doctype htm l>
<html>
<head>
<style>
img {
display: none;
width: 100px;
height: 100px;
}
input:checked + img {
display: block;
}
input {
position: absolute;
left: -9999px;
}
label {
cursor: pointer;
}
</style>
</head>
<body>
<div id="cont">
<input id="img1" name="img" type="radio" checked="checked">
<img src="./前端测试/imgs/1.jpg">
<input id="img2" name="img" type="radio">
<img src="./前端测试/imgs/2.jpg">
</div>
<div id="nav">
<label for="img1">第一张</label>
<label for="img2">第二张</label>
</div>
</body>
</html>
这里主要是运用了 label 标签和 input 标签相关联的特性,然后利用 CSS中的 :checked 选择器进行选择,对input使用定位是为了将 radio 的小圆点移除视野范围,差不多就这么多,还是很巧妙的!input 和 label 的具体文档见链接:MDN:label的特性