教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

a標簽嵌套解決方案

更新時間:2018年12月13日15時57分 來源:傳智播客 瀏覽次數(shù):

問題

  
在實際網(wǎng)頁布局之中,我們有時候需要一整塊點擊區(qū)域中間還要有部分按鈕點擊,也就是需要a標簽嵌套a標簽,如下:

  <!-- a標簽進行嵌套的時候 --><a href="#haorooms">outerA    <a href="#haoroomsinner">innerA</a></a> 

但是我們會發(fā)現(xiàn),這種嵌套,瀏覽器會直接錯誤解析,解析結果如下:

  <!-- 而瀏覽器則會解析成 -- ><a href="#haorooms">outerA</a><a href="#haoroomsinner">innerA</a>  

那么針對這種情況如何解決呢?

方案一:使用object標簽進行嵌套  

例如我么如下寫,就不會錯誤解析了!

  <a href="#haorooms">    outerA    <object><a href="#haoroomsinner">innerA</a></object></a> 

這種寫法的典型應用最多的是列表整個需要點擊,列表里面有電話號碼需要單獨點擊撥打!

  <a class="haorooms_list" href="跳轉(zhuǎn)頁面">    列表內(nèi)容    <object><a href="tel:694434565">撥打電話</a></object></a>

方案二:使用定位方式  

這種方式是迫不得已的方式,思路就是我們不用嵌套。直接代碼如下書寫:

  <a href="#haorooms">outerA</a><a href="#haoroomsinner">innerA</a>  

外層的haorooms通過設置display:inline-block,以及絕對定位,將其放在里層a標簽的位置。然后通過調(diào)整里層a標簽及外層a的z-index大小,使得鼠標能正確選中a標簽;
  
這種方法的核心思想就是通過定位來模擬實現(xiàn)我們想要達到的效果!

方案三:使用 HTML的 < area>< map>標簽來實現(xiàn)  

記得在學校學校網(wǎng)頁制作的時候,用的是dreamweaver,dreamweaver中可以使用圖片熱區(qū)來實現(xiàn)圖片的點擊效果。沒錯,我們可以使用熱區(qū)來實現(xiàn)a標簽的嵌套效果啊!

area標簽很久沒有使用了,普及一下基礎知識:  

area可以指定shape及coords。

  如果 shape 屬性設置為 "rect",則該值規(guī)定矩形左上角和右下角的坐標。(x1,y1,x2,y2)

  如果 shape 屬性設置為 "circ",則該值規(guī)定圓心的坐標和半徑。(x,y,radius)

  如果 shape 屬性設置為 "poly",則該值規(guī)定多邊形各頂點的值。如果第一個坐標和最后一個坐標不一致,那么為了關閉多邊形,瀏覽器必須添加最后一對坐標。(x1,y1,x2,y2,..,xn,yn)  

area和map要配合使用,可以在圖片上面指定部分熱區(qū),也可以在列表中指定熱區(qū)。
  
假如我們運用area和map在列表中a標簽內(nèi)部指定熱區(qū),就可以實現(xiàn)類似我們上面a標簽嵌套的效果了!
  
還是上面的例子,我們可以如下書寫:

    <a href="#haorooms">        outerA          <map>            <area shape="rect" coords="0,0,200,21"href="haoroomsinner" >        </map>    </a>  

方案四:使用span等標簽加js事件來代替a標簽   

當然我們也可以用span,標簽等替代a標簽,只不過要多寫一些js跳轉(zhuǎn)代碼了,通過js來實現(xiàn)a標簽所能實現(xiàn)的效果!

作者:傳智播客前端與移動開發(fā)培訓學院

首發(fā): http://web.itcast.cn

0 分享到:
和我們在線交談!