我有一些看起来像这样的标记:
<div class="button">
<span class="image"></span>
<input type="submit" value="Test button">
</div>
CSS:
.button{
background: url('http://img33.imageshack.us/img33/4108/leftd.png');
width: 10px;
display: inline-block;
height: 15px;
}
.image{
display: inline-block;
position: absolute;
width: 16px;
height: 16px;
background: url('http://img339.imageshack.us/img339/3112/arrow090.png');
margin-left: 13px;
}
.button input{
background: url('http://img853.imageshack.us/img853/7212/righthw.png');
border: 0;
display: block;
font: 11px sans-serif;
margin-left: 10px;
padding-left: 23px;
padding-right: 10px;
color: #FFFFFF;
width: auto;
height: 15px;
}
提交按钮的代码由后端生成,我无法更改,但spans
和divs
是可编辑的,因为它们是模板的一部分。我用简单的图形做了一个简单的例子来更好地展示这个问题:http: //jsfiddle.net/UBS3z/
div 包含滑动门的左侧部分,大约 10 px 宽。span 包含一个要放置在文本左侧的图标。最后我们有提交按钮本身。
问题是,虽然在视觉上看起来不错,但当用户单击左侧滑动门或图像结束的区域时,该按钮不会记录任何单击。这非常糟糕,因为很大一部分按钮无法点击!这通过单击按钮来演示。如果单击已注册,该脚本将记录到控制台。
反正有没有使用CSS使这些区域可点击?我认为这可能可以使用 Javascript 来解决,但我更喜欢 CSS 解决方案。