我有一个“提交”按钮,我试图用图像替换它
<input type="submit" value="Continue" />
我不能修改 HTML,也不能使用 JavaScript。我只能访问 CSS。
是否可以仅使用 CSS 删除“继续”(value属性)一词?
编辑
我实际上已经能够使用图像设置按钮的样式。我现在想删除“继续”按钮。我已经通过将text-indent值设置为负数来做到这一点,这是前段时间在这里提出的,但被删除了。我想知道是谁发布的,所以我可以接受它作为答案。
免责声明:这是一个糟糕的答案——我希望你也知道,在你的内心深处。如果你嘲笑我的公平警告,来自 CeSSei 8 的外星人会绑架你,让你在 4 维中建模。赞成这个答案,风险自负。我在现在看来是另一种生活中写下了它,每次阅读它都会深入我的灵魂深处。我为网络哭泣。你被警告了。
我无法想象为什么有人需要仅使用 CSS来删除控件的值。我当然从来不需要考虑这样做。
font-size: 0无论如何,使元素无法使用em和 单位的替代方法是使用ex透明的“画笔”渲染文本,实际上根本不渲染它:
color: transparent;
请注意,应用于输入元素的上述规则对元素中占位符文本的颜色没有影响。
与大多数此类“黑客”一样,此解决方案存在许多问题-您可能希望至少user-select: none与上述规则一起添加以禁用用户对文本的选择,因为选择它会将其暴露在纯色背景色中的选择,这可能是可取的,也可能不是可取的。
input[type="submit"] {
font-size:0;
width:120px;
height:30px;
background: url('dir/image.png') no-repeat left top;
border: none;
}
这会成功的。请记住,您的图像路径是相对于样式表的。
使用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;
}
添加到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;
}