首先介绍锚点定位的几种常见方法:
(1)id定位 ,使用id + #id跳转,可以实现将锚点元素绑定到任意元素上
(2)name定位 , 只能针对a标签来定位,对其他标签不能起到定位作用。
(3)万能的js定位,获取元素位置,使用scrollInToView(); //准确的说,这种方法不属于锚点定位
不管是上述方法中的哪种方法,当页面(准确的说应该是父元素)的滚动条没有或不足时,不发生任何滚动或滚动底部。
由于js的万能性,此处不予讨论;以下讨论锚点定位的实现:
锚点定位的本质是: 修改容器的滚动高度; 也就说父容器无滚动,则锚点定位就会失效。
锚点的应用:
1.与overflow:hidden结合,实现:无js完全用css实现选项卡轮转切换效果 (这种效果,可以在js挂掉的时候救场,保持图片的滚动功能)
注:overflow:hidden就是隐藏超出的部分,不出现滚动条;
css3中的:target伪类 + 锚点
URL 带有后面跟有锚名称 #,指向文档内某个具体的元素。这个被链接的元素就是目标元素(target element)。
2.:target 选择器可用于选取当前活动的目标元素,改变样式;
如果页面足够高的话,会有样式的改变 同时伴随着 页面的滚动。
(伪类的:target的支持情况是:IE6-8是不支持的,其余都支持!未来css强大的征兆!)