大家都知道HTML的嵌套規范,其中一個規范是塊元素嵌套行內元素,塊元素嵌套塊元素,行內元素嵌套行內元素,行內元素不能嵌套塊元素
其中需要注意的是行內元素嵌套行內元素,a標簽雖然是行內元素,但a標簽不能嵌套a標簽,以前沒注意,結果不小心用了a標簽嵌套a標簽以后出現了下面的問題
我想把二級顯示變成三級顯示,如下圖
紅色框部分是我增加三級顯示的html代碼
審查元素發現:我新增加的那個div(上圖紅色框的部分)中莫名會增加一個a元素
這始終另我百思不得其解,后來和另外一個同事討論測試以后發現是a標簽嵌套a標簽導致的
解決方法:把下面紅色框代碼的父元素,也就是紅色箭頭所指的a標簽,換成其它標簽即可,比如div
注:P標簽也是不能嵌套P標簽的
至於為什么a標簽不能嵌套a標簽,網上的說法是:瀏覽器會自動添加結束符號,比如
你這樣嵌套:<a href="www.baidu.com">谷歌<a href="www.weather.com.cn">中國天氣網</a></a>
瀏覽器解析:<a href="www.baidu.com">谷歌</a><a href="www.weather.com.cn">中國天氣網</a>
如果代碼結構復雜,可能還會導致html層級錯亂。
這里面還有一些平常可能不太清楚或者不知道的元素嵌套:http://blog.sina.com.cn/s/blog_12beb07f80102vfab.html