我有一个“提交”按钮,我试图用图像替换
<input type="submit" value="Continue" />
我无法修改HTML,也无法使用JavaScript。我只能访问CSS。
是否可以仅使用CSS删除“继续”(value
属性)一词?
修改
我实际上已经能够使用图像设置按钮的样式。我现在想要删除“继续”按钮。我已经通过将text-indent
值设置为负值来实现,这是前一段时间提出的,但已被删除。我想知道是谁发布的,所以我可以接受它作为答案。
答案 0 :(得分:18)
我没有找到任何不会让我感觉不好的东西,但是font-size: 0
的另一种选择会使em
和ex
单位无法使用,是使用透明的“画笔”进行文本渲染,实际上根本不渲染它:
color: transparent;
请注意,应用于input元素的上述规则对元素中占位符文本的颜色具有无效。
此解决方案仍有许多潜在的不良特征 - 您可能希望至少添加user-select: none
以及上述规则,以禁用用户对文本的选择,因为选择它会暴露它选择的纯色背景颜色,可能是也可能不是。
答案 1 :(得分:5)
input[type="submit"] {
font-size:0;
width:120px;
height:30px;
background: url('dir/image.png') no-repeat left top;
border: none;
}
这样就可以了。请记住,您的图像路径是相对于样式表的。
答案 2 :(得分:3)
使用font-size: 0
:
input[type="submit"] {
font-size:0;
width:100px;
height:20px;
background:red; /** or `background: url('some.jpg') no-repeat 0 0;` */
border:0;
cursor:pointer;
}
<强> Demo 强>
答案 3 :(得分:1)
添加到SpaceBeer的答案,最好使用否定text-indent
并删除文字,如果有的话。
input[type="submit"] {
font-size:0;
width:120px;
height:30px;
background: url('dir/image.png') no-repeat left top;
border: none;
overflow: hidden;
text-indent: -99em;
}