首(shou)先介紹(shao)錨點定位的幾種常見方法:
(1)id定(ding)(ding)位 ,使用id + #id跳轉,可(ke)以實現將錨點(dian)元(yuan)素綁定(ding)(ding)到任意(yi)元(yuan)素上
(2)name定(ding)位(wei) , 只能(neng)針對a標簽來(lai)定(ding)位(wei),對其(qi)他標簽不能(neng)起到定(ding)位(wei)作(zuo)用。
(3)萬能的js定位,獲取元素位置,使用scrollInToView(); //準(zhun)確的說,這種方法不(bu)屬于(yu)錨(mao)點定位
不(bu)(bu)管是上述方法(fa)中的哪(na)種(zhong)方法(fa),當頁面(準確的說(shuo)應(ying)該(gai)是父元素)的滾(gun)動條(tiao)沒有(you)或不(bu)(bu)足(zu)時,不(bu)(bu)發生(sheng)任(ren)何(he)滾(gun)動或滾(gun)動底部。
由于js的萬能性,此處(chu)不予討論(lun);以下(xia)討論(lun)錨點定位的實現:
錨(mao)點(dian)定位的本質(zhi)是: 修改容(rong)器的滾動(dong)高度; 也就(jiu)說父容(rong)器無(wu)滾動(dong),則(ze)錨(mao)點(dian)定位就(jiu)會失效。
錨點的(de)應用:
1.與overflow:hidden結合,實(shi)現:無js完全(quan)用css實(shi)現選項卡(ka)輪轉切換效果(guo) (這種(zhong)效果(guo),可以在js掛掉的時候(hou)救場,保持(chi)圖片的滾(gun)動(dong)功能)
注:overflow:hidden就是(shi)隱藏超出(chu)的部分,不出(chu)現滾動條(tiao);
css3中的:target偽(wei)類 + 錨點
URL 帶有后面跟有錨名稱 #,指向文檔(dang)內某(mou)個具體的(de)元(yuan)素(su)(su)。這個被(bei)鏈接的(de)元(yuan)素(su)(su)就是目標(biao)元(yuan)素(su)(su)(target element)。
2.:target 選擇(ze)器可(ke)用(yong)于(yu)選取當前(qian)活(huo)動的目標元素,改變樣式;
如(ru)果頁面(mian)足夠高的(de)話,會有樣式的(de)改變 同時伴隨著 頁面(mian)的(de)滾(gun)動(dong)。
(偽類(lei)的(de):target的(de)支持(chi)(chi)情況是(shi):IE6-8是(shi)不支持(chi)(chi)的(de),其余都(dou)支持(chi)(chi)!未(wei)來css強大的(de)征兆!)