html - 无法解决 CSS Sprite 问题

标签 html css browser sprite

我不知道我做错了什么,对我来说代码似乎是正确的,但我猜它不是,否则它会起作用。实际的 sprite 按钮没有出现在浏览器中,我可以点击不可见的按钮但我看不到它,我不知道如何修复它。需要帮助。

这是 CSS

@charset "UTF-8";
/* CSS Document */
a.button
{
    height: 48px;
    background-image: url("images/Home.png");
    text-indent: -9999px;
    display: inline-block;
}

#home
{
    width: 186px;
    background-position: 0px 0px;
}

#home:hover
{
    background-position: 0px -40px;
}

#home:active
{
    background-position: 0px -80px;
}

这是 HTML

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Untitled Document</title>
<link href="css/main.css" rel="stylesheet" type="text/css" media="screen">
</head>

<body>
<a href="#" class="button" id="home">Home</a>
</body>
</html>

最佳答案

您的代码没有任何问题。但是,您实际上并不需要 text-indent: -9999px; ..只是不要在其中放置任何文本。

必须是你的图片位置 "images/Home.png" 不能是正确的路径。

看看我切换图像时发生了什么:http://jsfiddle.net/KAHwf/

关于html - 无法解决 CSS Sprite 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19462596/

相关文章:

javascript - 调整 <canvas> 元素的大小

html - 如何在网络浏览器上播放声音?

javascript - 网页包 5 : Image src in html when using contentHash

javascript - Excel 查看器库

html - 如何更改 anchor 标记内 title 属性的样式?

javascript - 我可以用外部 JavaScript 控制 Unity3D 吗?

javascript - 防止 linkedin 和 twitter 共享在同一窗口中打开

javascript - 显示html页面中具有相同id的所有复选框元素

jquery - 防止jquery多次点击功能

html - 为什么 <fieldset> 不能是 flex 容器?