是否有任何方式使用「懸停」屬性的所有HTML元素,而不是隻在IE中?懸停IE中的非鏈接元素的問題
例如'li:hover'。它在IE6中不起作用。 (我不知道其他版本的IE)。
被修改: 我只是想用CSS no javascript來做。 這是一個簡單的菜單。
是否有任何方式使用「懸停」屬性的所有HTML元素,而不是隻在IE中?懸停IE中的非鏈接元素的問題
例如'li:hover'。它在IE6中不起作用。 (我不知道其他版本的IE)。
被修改: 我只是想用CSS no javascript來做。 這是一個簡單的菜單。
我不認爲無論如何,你可以在IE 6中不使用JavaScript來做到這一點。
如果它是一個級別的菜單,你可能可以調整樣式,使鏈接呈現爲顯示:塊裏面的所以你可以對它們進行懸停,如果需要的話在鏈接內部放置跨度以獲得額外的造型靈活性,但是個人從未嘗試過將它擴展到多級菜單。
優雅退化的策略可能是您最好的選擇。
好的,最後我使用一些代碼段的JavaScript代碼 http://www.xs4all.nl/~peterned/csshover.html 作爲csshover htc文件改變IE的身體行爲。 它似乎生活沒有JavaScript是不可能的! – 2010-05-04 05:07:10
不,IE6沒有正確實現所有元素的hover僞類。它只支持錨點。
在javascript上使用onmouseover/onmouseout。
當您將鼠標懸停在某個元素上時,只需使用懸停內容顯示隱藏的div。
當你將鼠標移出某個元素時,你將隱藏div並將鼠標懸停在內容上。如果你不想做所有的專家組的工作
<span id="hoverSpan" class="hoverelement" hoverdata="this is my hoverdata">HoverSpan</span>
<a href="#" id="hoverAnchor class="hoverelement" hoverdata="this is my hover data">HoverAnchor</a>
<div id="hoverdiv" style="display:none"></div>
<script language="javascript">
$(document).ready(function() {
$(".hoverelement").each(function() {
var myelement = $(this);
myelement.mouseover(function (e) {
var myhovertext = myelement.attr("hoverdata");
$("#hoverdiv").html(myhovertext).show();
});
myelement.mouseout(function (e) {
$("#hoverdiv").html(myhovertext).hide();
});
});
});
</script>
它晚了,我沒有測試這個
jQuery讓這更容易,但這個想法是存在的。基本上,你會作出一個懸停爲與類「hoverelement」
感謝您的評論,但我不想使用JavaScript。只用CSS。 – 2010-05-04 04:06:31
我不相信這是可能的Just css。有不同的瀏覽器/版本和以下方面的問題太多:懸停樣式 – 2010-05-04 04:14:12
嘗試jquery ...我並不確切地知道,但它可能工作在IE6的任何元素....
':hover'在IE8中可以正常工作。 – josh3736 2010-05-04 04:14:28
謝謝,但很多用戶還沒有IE6。 – 2010-05-04 04:22:36