簡體   English   中英

<a>與:hover或</a> <div> <a>與鼠標懸停事件?</a>

[英]<a> with :hover or <div> with hover event for buttons?

我通常使用<a>來制作塊類型按鈕,例如:

a
{
    color:#fff;
    display:block;
    background-color:#ff0000;
}

a:hover
{
    background-color:#c80000;
}

然后我把href="javascript:void(0);" <a>標記上。 我這樣做是因為div元素上的:hover不利於向后兼容。 話雖這么說,我本來是想盡可能少地使用JavaScript,但我開始認為采用這種方法不是一件好事嗎?

你們會用什么?

編輯:我只是提出來,因為我注意到Google+的某些按鈕正在使用。

編輯#2:我還注意到在Google+上按鈕上有一個輕微的動畫,所以也許這就是為什么他們使用的

div:hover可以在Internet Explorer 6以外的所有瀏覽器上運行。但是該瀏覽器已有10多年的歷史了。

在IE6中使用div:hover的唯一缺點是它們不會獲得懸停效果,但是他們仍然可以使用(單擊)按鈕。 因此它不會在IE6中中斷,只是看起來與其他瀏覽器有些不同。

您可以執行<a href='#' onclick='return false;'> (感謝評論者!)

您不應該限制使用“盡可能少的javascript”,但我也不認為javascript對於此特定位是不必要的。

編輯:如果我沒有直接回答您的問題,我認為使用<a><input><button>並沒有什么問題,但如果可能的話,我會盡量遠離<div>因為它不是語義上特定的。

使用div + jQuery IMO

$('.myDivClass').hover(
    function(){
        $(this).css('background-color','#c80000');
    }, function(){
        $(this).css('background-color','#ff0000');
});

我建議您使用div。 除非您需要返回到IE 5-6,否則這不是問題。

使用任何在語義上正確的html元素。 如果要制作按鈕,為什么不使用<button>呢?

實際上,我經常使用<a> 每個瀏覽器都可以使用它們,通常這樣更容易。 為什么在不需要時使用div?

使用錨點使您的用戶能夠右鍵單擊它並在另一個選項卡中打開鏈接。 另外,如果您想讓搜索引擎跟隨鏈接,我將保留“ a”。 我通常會在動態行為的情況下使用“ div”,這意味着它不是簡單地重定向到其他URL,而是一些AJAX或DOM更改操作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM