我想使用类型图像的输入,它也有标题文本在悬停时显示。但是,此文本始终显示在图像“后面”。
我像这样定义我的图像:
.left {
background-image: url("http://uxrepo.com/static/icon-sets/flat-arrows/png32/64/000000/flat-circle-chevron-left-arrow-64-000000.png");
}

<input type="image" class="left" id="mToggle" width="64" height="64" value=" " title="new toggle button"/>
&#13;
CSS类的原因是因为我在点击时切换图像。这是JSFiddle。
旁注:我意识到问题只发生在Chrome中。它不会出现在IE或Firefox中。
答案 0 :(得分:1)
如果图像src不存在,浏览器将显示alt或标题图像。由于您有具有背景图像的类,因此不需要img
元素。因此,您可以将html更新为
<div class="left" id="mToggle" style="height:64px;width:64px" title="new toggle button" />
答案 1 :(得分:1)
这是因为您的图片没有设置src
属性,在这种情况下,它会显示alt
或title
属性而不是图片。您输入的图片是css background-image
,与使用input type="image"
设置的src
标记不同。
如果您仍想保留css
,请使用其他内容,例如div
:
<div class="left" id="mToggle" title="new toggle button"></div>
https://jsfiddle.net/lucianmoldovan/os7svkw1/6/
否则设置src
标记的input type="image"
属性。
答案 2 :(得分:1)
type="image"
:图形提交按钮。 您必须使用src
属性来定义图片来源,并使用alt
属性来定义替代文字。 您可以使用{{ 1}}和height
属性用于定义图像的大小。
(强调我的)
因此,您的HTML无效。您需要按钮在下面的代码段中显示。
如果您已使用JavaScript切换width
class
,我建议您删除CSS规则,而是直接更改图片onclick
。您是否可以根据src
,class
或alt
属性进行切换。
src
document.getElementById('mToggle').addEventListener('click',function(){
if(this.className=='left'){
this.src='http://uxrepo.com/static/icon-sets/flat-arrows/png32/64/000000/flat-circle-chevron-right-arrow-64-000000.png';
this.alt='→';
this.className='right';
}
else{
this.src='http://uxrepo.com/static/icon-sets/flat-arrows/png32/64/000000/flat-circle-chevron-left-arrow-64-000000.png';
this.alt='←';
this.className='left';
}
});
(使用上面的JS代码或jQuery等价的代码。)