簡體   English   中英

如何使用<a>而不是 Javascript 創建可點擊的 CSS 精靈?</a>

[英]How to create click-able CSS sprite with <a> rather than Javascript?

以下是使用 Javascript 實現的可點擊 CSS 精靈的示例:

現場演示在這里。

HTML:

 <div></div>

CSS:

 div { width: 100px; height: 100px; background-image: url(http://perfectwebtutorials.com/wp-content/uploads/2011/03/spritecss.png); background-position: -300px -100px; } div:hover { background-position: -100px -100px; }

JS:

 $(function() { $('div').click(function() { window.location = "http://google.com"; }); });

沒有 Javascript是否可以實現相同的目標?

(我能想到的唯一方法是使用<a href="..."> ,但是如何?)

使用<a>元素,給它一個hrefdisplay: inline-block ,以及您設置的所有其他 CSS 屬性。

a {
    display: inline-block;
    width: 100px;
    height: 100px;
    background-image: url(http://perfectwebtutorials.com/wp-content/uploads/2011/03/spritecss.png);
    background-position: -300px -100px;
}
a:hover {
    background-position: -100px -100px;
}

工作演示: http://jsfiddle.net/t629m/13/

您以一種復雜的方式提出了您的問題,但答案很簡單:

  • div更改為a
  • display: block應用於a

見: http://jsfiddle.net/65HdK/

<a href="http://google.com/"></a>

a{
    width: 100px;
    height: 100px;
    background-image: url(http://perfectwebtutorials.com/wp-content/uploads/2011/03/spritecss.png);
    background-position: -300px -100px;

    display: block
}
a:hover {
    background-position: -100px -100px;
}

@misha,檢查類似http://jsfiddle.net/sandeep/t629m/7/

最主要的是你必須在<a>標簽中display:block

因為<a>是一個inline element示例:

a {
    width: 100px;
    height: 100px;
    background-image: url(http://perfectwebtutorials.com/wp-content/uploads/2011/03/spritecss.png);
    background-position: -300px -100px;
    display:block;
}
<a href="http://google.com"><div></div></a>

似乎工作正常。 現場演示: http://jsfiddle.net/vuZz4/

暫無
暫無

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

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