2014-04-30 37 views
0

我試圖獲取包含圖像的鏈接(<a></a>),當鏈接懸停在其下方的懸浮菜單上時(在這種情況下,只有一個按鈕)。出現的按鈕,我希望有一個鏈接。鏈接上的懸停菜單出現問題

HTML:

<a href="#"> 
    <img src="My_Image.jpg" width="420" height="280" /> 
    <ul> 
     <a><li>Buy</li></a> 
    </ul> 
</a> 

CSS:

a { 
    padding: 5px; margin: 0px; 
    position: relative; 
    display: inline-block; 
} 
a ul{ 
    padding: 0px; margin: 0px; 
    list-style: none; 
    position: absolute; 
    left: -9999px; 
    width: 100%; 
} 
a ul li{ 
    padding: 5px; 
    background-color: black; 
    white-space: nowrap; 
    text-align: center; 
} 
a:hover ul { 
    left: 0; 
} 

我的問題是,當我添加的鏈接(a)的ul標籤內標籤的CSS格式的ul及其所有後代不要不再接受了。我希望這已經夠清楚了,讓我知道你是否需要我解釋一些。

+6

不能嵌套鏈接。 – j08691

回答

1

從阿德里安你的第一個評論,你想要的鏈接文本顯示在圖像的頂部,並在圖像上方懸停時,圖像下方會顯示購買按鈕。假設,這可能工作:

div { 
    padding: 5px; margin: 0px; 
    position: relative; 
} 
div ul{ 
    list-style: none; 
    display: inline-block; 
} 
div ul li{ 
    padding: 5px; 
    white-space: nowrap; 
    text-align: center; 
    margin-bottom: 10px; 
} 
div ul li a{ 
    position: relative; 
} 
div ul li a span{ 
    position: absolute; 
} 
div ul li button{ 
    visibility: hidden; 
} 
div ul li:hover button{ 
    visibility: visible; 
} 

和HTML類似:

<div> 
    <ul> 
     <li><a href="#"><img src="My_Image.jpg" width="420" height="280" /><span>Description</span></a> 
     <br/><button>Buy Image 1</button> 
     </li> 
     <li><a href="#"><img src="My_Image.jpg" width="420" height="280" /><span>Description</span></a> 
     <br/><button>Buy Image 2</button> 
     </li> 
    </ul> 
</div> 
1

您的語法不正確。內聯元素中的塊元素被規範禁止。 如果你需要創建一個基於菜單的列表中,將「子菜單中的」鏈接標籤後:

<ul> 
     <li> 
      <a href="#">Your Link</a> 
      <ul> 
       <li><a href="#">Sublink</a></li> 
      </ul> 
     </li> 
</ul> 
+0

_「內嵌元素中的塊元素被規範禁止_」 - 不在HTML5中,它們不是,至少不是一般的 - 在'a'_is_有效的HTML5中'ul'。 (但是將'a'作爲'ul'的_child_仍然是不正確的。) – CBroe

+0

我試圖通過鏈接來實現照片,就像內聯元素只是調整自身一樣。但是,如果圖像懸停,我希望在圖像下方出現一個按鈕。我怎麼能實現這個? – Rubixryan

+0

我有一個ul的元素孩子。它運行良好。這是一個孩子的ul。這個有一個額外的「a」標籤,> ul> a – Rubixryan