<!DOCTYPE html>
<head>
<title></title>
<meta http-equiv="content-type" content="text/html;charset=gb2312" />
<style>
dl { position:absolute;width:320px;height:240px;border:10px solid #eee; }
dd { margin:0;width:320px;height:240px;overflow:hidden; }
img { border:1px solid black }
dt { position:absolute;right:3px;top:50px; }
a { display:block;margin:1px;width:20px;height:20px;text-align:center;font:700 12px/20px "宋体",sans-serif;color:#fff;text-decoration:none;background:#666;border:1px solid #fff;filter:alpha(opacity=40);opacity:.4; }
a:hover {background:#000}
</style>
</head>
<body>
<dl><dt><a href="#a" title="">1</a>
<a href="#b" title="">2</a>
<a href="#c" title="">3</a>
</dt>
<dd><img src="/images/m01.jpg" alt="" id="a" />
<img src="/images/m02.jpg" alt="" id="b" />
<img src="/images/m03.jpg" alt="" id="c" />
</dd>
</dl>
</body>
</html>
我知道用的锚点,锚点点击后不是跳转到锚点所指的地方吗,为什么这段代码跳转不是跳转到第二张图片(位置在第一张下面)当显示第二,第三张图片的时候第一张去哪了?
你把dd的overflow-y弄成滚动条就知道了,和html5没啥关系,就好比你准备了一个1X1的画框,然后用一张1X3的纸条上面贴了3个图片,垂直拉来拉去的效果,画框外的遮掉了而已
一张图来解释一下,图片来自百度图片……
这个其实在很早之前就已经玩过了,利用锚点的特点,跳转到对象的左上角。
因为外层容器就只有320*240的大小,然后第二张图片的锚点被激活之后就跳到第二张图片的锚点的位置来显示。
如果这里加上:target
和transition
等属性的话,那效果就更好了……
用锚点不爽的地方就是地址栏上会增加一个锚点坐标,不过也是好的地方,可以随时进入到某张图片,或者某个容器(比如tab选项卡)