【发布时间】:2014-05-19 18:20:05
【问题描述】:
我正在开发一个响应式网站,但遇到了一个烦人的问题。在我的标题中有一些文字。我用 text-indent -9999px 将它设置在屏幕外。之后我加载背景图像。但我只希望背景图像是可点击的。我不知道该怎么做。我在谷歌上找到了一些例子。但他们从不“注入”带有 css 的图片。他们总是在 html 中定义图片。
所以我想要的只是在标题中水平居中的图片,只有图片是可点击的,而不是它周围的边距。
<header>
<a href="alink">
<h1>this is gonna be replaced with an image(on desktop websites). It will stay here on mobile website</h1></a>
</header>
和css:
header h1 {
margin:10px 0 30px 0;
text-indent:-9999px;
background-image: url('pika.png');
background-repeat: no-repeat;
background-size: contain;
background-position:50% 50%;
width:100%;
height:220px;
border:1px solid red;
float: left;
}
我还将代码上传到 jsfiddle: http://jsfiddle.net/Cm3yQ/
如你所见,目前整个h1都是可点击的,我只希望图片是可点击的。
【问题讨论】:
-
我不认为有任何简单的解决方案,这里的另一个相关问题是如果你有一个龙的图像而不是那个皮卡丘怎么办? 甚至更多复杂的图像?您可能必须手动为图像中的重要点构建地图并使用
ismap或usemap属性(用于锚点),这意味着如果图像发生更改,您必须重新构建地图. -
您已将
h1设置为 100% 宽度乘以 220 像素高度,因此,这就是“可点击”。如果您只希望标题与背景图像一样宽/高,则相应地更改宽度和高度。 -
但如果我将其设置为小于 100%,它就不再位于我的屏幕中心。它转到我屏幕的左侧。